我目前的 Windows 7 是英文版。我有一些從另一台電腦傳輸的文件,其中包含非英語字元。看下面的圖片
現在,我想把它們全部刪除。但在搜尋框中寫入此字元並不會給出所需的檔案。
如何刪除所有包含非英文/非單字字元的檔案?
答案1
Cihad、PowerShell 可能是您最好的選擇。
我做了一個小測試,使用下面的程式碼來尋找資料夾中的所有非英語字符
Get-ChildItem c:\TurkishFileNames\ | where-object {$_.name -match "[^\x00-\x80]+"}
這將傳回所有非英語檔案名稱。然後,您可以將它們傳遞給remove-item,但首先要確定您獲得了正確的名稱。這裡的一個問題是您正在談論“資料夾”名稱,我用檔案名稱對此進行了測試。
不過,我相信你可以使用同樣的技巧。如果安裝了 PowerShell 3.0 或 4.0,則可以在使用 Get-ChildItem 時使用 -directory 僅顯示資料夾名稱:
Get-ChildItem c:\TurkishFolderNames\ -directory
其餘部分將類似。您可以從 Microsoft 下載 PowerShell 3.0 或 4.0
http://www.microsoft.com/en-us/download/details.aspx?id=34595(WMF 3.0)
http://www.microsoft.com/en-us/download/details.aspx?id=40855(WMF 4.0)
Windows 7 附帶了 PowerShell 2.0,如果您堅持使用,您仍然可以使用舊語法僅取得目錄:
Get-ChildItem C:\TurkishFolderNames\ | ? {$_.PsIsContainer -eq $true}
然後您可以繼續其餘的操作:
Get-ChildItem C:\TurkishFolderNames\ | ? {$_.PsIsContainer -eq $true} | ? {$_.name -match "[^\x00-\x80]+"}