如何使Powershell脚本在所有子目录中运行?

时间:2013-11-08 19:12:45

标签: windows powershell windows-server-2008

我已经能够拼凑这个脚本来从文件名中删除句点而不影响扩展名。我一直在努力让它在子目录中运行,而不是在每个子目录中手动运行它。

这是我一直在使用的脚本:

dir | rename-item -newname {       
       [System.IO.Path]::GetFileNameWithoutExtension($_.name).Replace("."," ") + 
       [System.IO.Path]::GetExtension($_.name); }

最佳,

Connor

3 个答案:

答案 0 :(得分:1)

尝试使用dir -recurse

之类的内容

答案 1 :(得分:0)

您可以使用-Recurse的{​​{1}}开关进行递归搜索(搜索子文件夹)。

我还建议使用powershell属性而不是dir / Get-ChildItem函数:

[System.IO.Path]

答案 2 :(得分:0)

    Get-ChildItem -Recurse | Where-Object { $_.PSIsContainer -eq $false } | Rename-Item -NewName { $_.Basename.replace("."," ") + $_.Extension }

我就是这样做的。