我已經從我的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感謝您的幫助:) –