使用脚本,我无意中重命名了服务器上用户主文件夹中的所有内容——这样每个文件夹(以及文件夹中的文件夹)中的每个文件都被重命名为末尾带有“$”。我所做的只是将每个用户的主文件夹重命名为 foldername$,以便在搜索共享文件夹时隐藏它。
长话短说,我找到了如何从一个文件夹中的每个文件中删除“$”的方法,但它并不适用于所有子文件夹:
get-childitem * | foreach { rename-item $_ $_.Name.Replace("$","") }
有谁知道如何修改它以从文件夹下每个文件夹中每个文件末尾删除 $ 符号?
谢谢!
答案1
尝试:
Get-ChildItem -Filter "*$" -Recurse | Rename-Item -NewName {$_.Name.Replace("$","") }
-Filter
比 where/foreach 快得多。-Recurse
遍历子文件夹- Rename-Item 接受管道输入。