( lx | 2011. 07. 09., szo – 13:26 )

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.)