我已经从我的FTP服务器使用wget,并迫使ASCII编码所以现在我的hve大量的文件夹和文件名类似“FOO%C3 BC%”下载了一个目录树(某些文件/文件夹已经有正确的名称,因为它们只有ASCII字符)。PowerShell的递归文件名读取和重新命名
我现在想toconvert他们回UTF-8使用PowerShell,我试着写以下行来完成这个
Get-ChildItem C:\Users\Administrator\Desktop\folder -Recurse | select BaseName | Rename-Item -NewName {[System.Web.HttpUtility]::UrlDecode{BaseName}}
但这不是工作,使我有以下错误
Rename-Item : Cannot rename because item at '@{BaseName=filename}' does not exist.
At line:1 char:88
+ ... ect BaseName | Rename-Item -NewName {[System.Web.HttpUtility]::UrlDecode{BaseNam ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Rename-Item], PSInvalidOperationException
+ FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand
一遍又一遍(我想每找到一个文件一次)。
命令的工作niecly到管道后“选择基本名称”,所以这个问题是在重命名部分。
有没有人有任何想法如何使它工作?
@Josh Lavely感谢您的帮助:) –