'nixコマンドmkdir ch{1..9}
と同等のPowerShellmd(またはmkdir、New-Item ...)を使用して複数のディレクトリを作成するための構文は何ですか。
~/parent_dir/
ch1/
ch2/
ch3/
ch4/
ch5/
ch6/
ch7/
ch8/
ch9/
例としてmanページとget-helpを調べましたが、PowerShellがそのような単純なことを行うための構文がわかりません。ありがとうございました。
次のコマンドを使用します。
_0..9 | foreach $_{ New-Item -ItemType directory -Name $("ch" + $_) }
_
仕組み:
0..9
_ 範囲演算子 _..
_は、0、1、... 9のシーケンスを生成します|
_から次のコマンドまでforeach
loops (各番号を順番に){ ... }
_は スクリプトブロックNew-Item -ItemType directory -Name $("ch" + $_)
作成 ディレクトリ$_
_は 自動変数 パイプライン内の現在のオブジェクト(数値)を表します例:
_> 0..9 | foreach $_{ New-Item -ItemType directory -Name $("ch" + $_) }
Directory: F:\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 25/09/2016 14:57 ch0
d----- 25/09/2016 14:57 ch1
d----- 25/09/2016 14:57 ch2
d----- 25/09/2016 14:57 ch3
d----- 25/09/2016 14:57 ch4
d----- 25/09/2016 14:57 ch5
d----- 25/09/2016 14:57 ch6
d----- 25/09/2016 14:57 ch7
d----- 25/09/2016 14:57 ch8
d----- 25/09/2016 14:57 ch9
_
覚えやすく、多くの状況に適用できるので、forループバージョンを使用します。それでも複数のコマンドに使用できます。
このbashコマンドに相当するもの:
for i in {1..9};行う
mkdir ch $ i
完了
... PowerShellの使用:
for($i=1;
$i -le 10;
$i++)
{md ch$i}
現在のディレクトリの下に複数のディレクトリを作成します。
mkdir ('abc','def','jkl')
上記は、以下の短縮版です。文字列の配列の前に含まれるアットマークと名前付きパラメータの使用に注意してください。
mkdir -Path @('abc','def','jkl')
そして、最後までやりたい場合、完全なネイティブコマンドは次のようになります。
New-Item -Path @('abc','def','jkl') -ItemType Directory
PowerShellコマンドラインを使用するときは、短いバージョンを使用します。
スクリプトを作成するとき、特に他の人(PowerShellを初めて使用する人)向けのスクリプトを作成するときは、完全なネイティブコマンドを作成する傾向があります。
自分に最適なものを選択してください。