我试图递归地遍历目录中的所有文件夹,然后在每个目录中执行某些操作。例如,创建一个文本文件。
我可以将所有子文件夹放入这样的变量中:
$folders = Get-ChildItem -Recurse | ?{ $_.PSIsContainer }
但是,我似乎无法在每个子目录中创建文件-而是在顶层目录中创建文件。这不起作用:
$folders | ForEach-Object { New-Item -ItemType file -Name "$_.txt" -path $_}
这将引发错误,即找不到目录或路径太长。
如何在嵌套文件夹的每个子目录中执行某些操作?
试试这个:
Get-ChildItem -Recurse -Directory | ForEach-Object {New-Item -ItemType file -Path "$($_.FullName)" -Name "$($_.Name).txt" }
基本上,该Get-ChildItem
命令返回一系列DirectoryInfo
对象。该FullName
属性包含完整路径,而Name
仅包含叶目录的名称。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句