Czy ktoś może wyjaśnić, dlaczego ten skrypt zgłasza wyjątek?Powershell Script kończy się niepowodzeniem po uzyskaniu dostępu do właściwości Array.Length
$byteArray = @(1,2,3)
write-Output ("{0:X}{1:X}{2:X}" -f $byteArray)
write-Output ($byteArray.Length -ge 3)
write-Output ("{0:X}{1:X}{2:X}" -f $byteArray)
Zasadniczo tworzę tablicę liczb, formatowanie tablicę, a następnie sprawdzając jego długość i formatowanie go ponownie.
Pierwszy format powiodło się, ale drugi format zgłasza wyjątek.
123
True
--------------------------------------------------------------------------------
POWERSHELL EXCEPTION
EXCEPTION TYPE:System.Management.Automation.RuntimeException
MESSAGE:Error formatting a string: Index (zero based) must be greater than or equal to zero and less than the size of the argument list..
POSITION:
At line:4 char:36
+ write-Output ("{0:X}{1:X}{2:X}" -f <<<< $byteArray)
--------------------------------------------------------------------------------
Czy powinno to być na ServerFault? Może nie dlatego, że jest to skrypt, ale nie skrypt administratora? –
Nie powinno, ponieważ jest to wyraźnie pytanie o dziwne zachowanie programu, a nie abuot administrowania niczego. – Joey
+1. To jest fascynujące pytanie (do mnie), a nie w ogóle związane z administratorem. –