(本記事は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(乱数、コマンド置換) […]