A PS meglehetősen okos es izgalmas.
Aztán hogy hogyan gondolták, hogy a 2-es verzió még nem képes úgy írni a stdoutra (csak dotnetes trükkökkel), hogy nem emel hozzá sort, azt én nem érem fel ésszel.
Szintén nem értem, hogy ha már elég jó minőségben lekoppintják a regexpes lehetőségeket, miért kell a replace-t úgy megvalósítani, hogy alapból cserél mindent. Hogy lookodavisszákkal kelljen megoldani a triviális csakazelsőt cserét, az nem evilági gondolkodásmódot tükröz.
A foreach és foreach-object kétarcúsága (miközben előbbi az utóbbi aliasa volna) szintén arculcsapás.
De az igazi kedvencem ez:
PS C:\> ls temp\x
Directory: C:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 1/26/2010 12:05 PM 950 x
PS C:\> ls temp\x | fl
Directory: C:\temp
Name : x
Length : 950
CreationTime : 1/26/2010 12:05:27 PM
LastWriteTime : 1/26/2010 12:05:27 PM
LastAccessTime : 7/9/2011 7:44:49 AM
VersionInfo : File: C:\temp\x
InternalName:
OriginalFilename:
FileVersion:
FileDescription:
Product:
ProductVersion:
Debug: False
Patched: False
PreRelease: False
PrivateBuild: False
SpecialBuild: False
Language:
PS C:\> ls temp\x ; ls temp\x | fl
Directory: C:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 1/26/2010 12:05 PM 950 x
out-lineoutput : The object of type "Microsoft.PowerShell.Commands.Internal.For
mat.FormatStartData" is not valid or not in the correct sequence. This is likel
y caused by a user-specified "format-list" command which is conflicting with th
e default formatting.
+ CategoryInfo : InvalidData: (:) [out-lineoutput], InvalidOperat
ionException
+ FullyQualifiedErrorId : ConsoleLineOutputOutOfSequencePacket,Microsoft.P
owerShell.Commands.OutLineOutputCommand
Persze van, ahol megmagyarázzák, hogy ez fícsör... de remélem, az *sh soha nem fog ilyen fícsörrel meglepni.
(A fenti hibákra alig párhetes tapasztalattal bukkantam - de nem bukkantam normális megoldásra/magyarázara a mi barátunk hosszas faggatása után sem.)