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

Windows 如何使Powershell脚本在所有子目录中运行?,windows,powershell,windows-server-2008,Windows,Powershell,Windows Server 2008,我已经能够将这个脚本拼凑起来,在不影响扩展名的情况下从文件名中删除句点。我一直在努力让它在子目录中运行,而不是在每个子目录中手动运行它 这是我一直在使用的脚本: dir | rename-item -newname { [System.IO.Path]::GetFileNameWithoutExtension($_.name).Replace("."," ") + [System.IO.Path]::GetExtension($_.name); }

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

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

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


Connor

尝试使用类似于
dir-recurse

的方法。您可以使用
dir/Get ChildItem
-recurse
开关进行递归搜索(搜索子文件夹)

我还建议使用powershell属性而不是
[System.IO.Path]
函数:

$_.BaseName     #Filename without extension
$_.Extension    #File-extension
我就是这么做的

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