如何在windows中搜尋自訂字元?

如何在windows中搜尋自訂字元?

我目前的 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]+"}

答案2

摘自我的好朋友亞當:無法以檔案名稱中的美元金額進行搜尋。

您可能需要以以下方式包裝您的搜尋:

~="searchterm"

答案3

尋找具有特定字元的檔案的快速方法是電源外殼

dir D:\* -r -include *∓*

您也可以使用統一碼表示法:0x2213相當於U+2213

$char = [char]0x2213
dir D:\* -r -include *$char*

順便提一句。使用 Windows 搜尋確實可以為我提供帶有特殊字元的正確結果!
你確定你沒有配置錯誤嗎? (我的配置

在此輸入影像描述

相關內容