0

いくつかのレイヤーで構成されるディレクトリ ツリーがあり、その中に各フォルダーに 30 個のプレースホルダー ファイルを再帰的に作成したいと考えています。

ツリーは次のようになります。

--F:\inbox\test  
 ----folder1  
 ------subfolder1  
 ------subfolder2  
 ----folder2  
 ------subfolder1  
 ------subfolder2  
 ----folder3  
 ------subfolder1  
 ------subfolder2

これが私が持っているものです。

$folders = gci -path f:\inbox\test -recurse | where {$_.PsIsContainer}  
foreach ($folder in $folders) {  
        1..30 | % { New-Item -Name "$_.txt" -Value (get-date).tostring() -Itemtype file -force}
}

これにより、ルート フォルダーに 30 個のファイルが作成されます。私は自分の論理に何かが欠けていることを知っています。

4

1 に答える 1

1

ファイルを配置する場所を指定していないnew-itemため、現在の作業ディレクトリが使用されます。幸いなことに、これは-Pathコマンドレットのパラメーターを使用して簡単に修正できます。

$folders = gci -path f:\inbox\test -recurse | where {$_.PsIsContainer}  
foreach ($folder in $folders) {  
        1..30 | % { New-Item -Path $folder.FullName -Name "$_.txt" -Value (get-date).tostring() -Itemtype file -force}
}
于 2013-11-11T19:15:05.697 に答える