(本記事はPowerShell入門記事としてコチラにもまとめています。)
「PowerShellを理解する(for、foreach)」の続きです。
乱数を取得します。
コマンドレットは、Get-Randomです。
PS C:\Users\takk> get-random 2045325134 PS C:\Users\takk> get-random 5 2 PS C:\Users\takk>
引数を指定すると、0~(引数に指定した数-1)の乱数を取得できます。
PS C:\Users\takk> $s=""
PS C:\Users\takk> foreach($i in 0..255){
>> $r=get-random 256
>> $s += "{0:X2} " -f $r
>> if($i % 16 -eq 15){$s += "`n"}
>> }
>>
PS C:\Users\takk> echo $s
64 88 5F B6 32 B3 A9 1E 9B B8 39 68 FD 9E D6 F6
6D D0 E6 EF 2E 0B 67 B0 D7 ED 03 EF EA 21 9C 2B
2D 1E 1E DB 9D AF 00 54 D3 2A B7 10 F7 E9 C3 CE
5E CE BA AA 2C 4B 30 58 20 AF DE 45 B0 BA 34 7A
1C 0E 3A DF 7F FB 59 BD D0 91 1B 04 53 56 B9 EE
2A 34 91 1B 66 F1 FE E2 ED C5 BA ED D1 BB A4 19
F5 3D F4 E8 AF E4 4E 63 75 FD DA 9A 2F 2C 05 C9
F6 F0 1A 7B 28 18 13 2A 0F 58 F2 B9 40 6B EC 14
ED 02 0E 15 62 D0 3F 45 E5 2D A6 69 17 64 B2 C1
C0 F1 F6 E0 A0 28 F0 DD 2A C9 D9 56 F2 94 23 09
10 C5 AD 2C 1D EF 67 26 B1 D5 96 FB 72 A9 13 AA
A5 30 F9 4E 75 0B 74 C4 12 31 EA 98 F6 E8 53 50
0A 9D 59 51 B7 86 A4 D0 8A D0 2F CA 92 F5 6B 81
B6 2E B1 C1 9B D4 94 05 50 E8 1A EB 05 CE 2F C8
81 45 F0 D4 50 C1 F2 1F 8C 28 C4 A4 DB AA 32 1D
C5 69 E1 C7 36 91 B5 35 08 53 00 CF 6B B8 CB BB
PS C:\Users\takk>
コマンド置換は、bashのように$()で囲みます。
PS C:\Users\takk> "{0:X}" -f $(get-random)
246955EC
PS C:\Users\takk>
コマンド置換はネストもできます。
PS C:\Users\takk> mkdir aaa | out-null
PS C:\Users\takk> cd aaa
PS C:\Users\takk\aaa> foreach($i in 0..10){mkdir $("dir_{0:X}" -f $(get-random)) | out-null}
PS C:\Users\takk\aaa> ls
ディレクトリ: C:\Users\takk\aaa
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2017/07/01 11:20 dir_11CFDF63
d---- 2017/07/01 11:20 dir_2065207
d---- 2017/07/01 11:20 dir_2EA62317
d---- 2017/07/01 11:20 dir_3A7F5143
d---- 2017/07/01 11:20 dir_46585CA
d---- 2017/07/01 11:20 dir_59E634FB
d---- 2017/07/01 11:20 dir_5D8B7032
d---- 2017/07/01 11:20 dir_60682448
d---- 2017/07/01 11:20 dir_6604792F
d---- 2017/07/01 11:20 dir_6A254AAD
d---- 2017/07/01 11:20 dir_7E2D24B5
PS C:\Users\takk\aaa>


コメント
[…] ← PowerShell(乱数、コマンド置換) […]