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通过 cmdlet 的参数解决。

$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 回答