In one of the most overlooked cool things at the PDC (in my opinion, anyway), the new Command Shell that will be in Longhorn blew me away when I saw it. I walked up to the booth asking if unix-like file aliases would be in the new shell, and was given a demo by the team that had my mind racing.
First off, file aliases are possible. WinFS type queries are possible through new commands called “commandlets” that you can write. Similar to the unix pipe, you can do this with MSH (Microsoft shell / codename MONAD) as well. Query results are actually .NET objects, so you can do things like (Don't quote me on the syntax; I'm working from memory here):
$p = get/process FileName
$p[5].ToString()
foreach ($p) { $p.ToString() }
A rather simple example, but consider that you can do this from the command line!
You can do WinFS filtering through the “|” symbol. MONAD can also export natively to: HTML, XML, Excel, or plain command text in either a Table or List format.
And....the commandlets are developer friendly. You can make a commandlet by inheriting from the commandlet base class, and adding attribute tags to the public properties to make them parameters to the commandlet. .NET handles whether the user types “-?” or “/?”, so you don't have to care anymore!
I was all set to post that I had attended DOS's funeral after the keynote on Monday, but I wasn't prepared for what was being created to replace it.
One last thing: anything can be mapped to a drive, and drives don't just have to be letters. (Ok, I lied - that was 2) The example I was shown was that the registry was mapped to a drive, and you could navigate it like any other drive, with the results being returned from the commandlet as .NET objects!
Commercial-Free !!!