如何在 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(WMF4.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 *∓*

您还可以使用unicode 表示法:0x2213相当于U+2213

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

顺便说一句,使用 Windows 搜索确实能用您的特殊字符给我正确的结果!
您确定没有配置错误吗?(我的配置

在此处输入图片描述

相关内容