Как найти пользовательский символ в Windows?

Как найти пользовательский символ в Windows?

Мой текущий Windows 7 на английском языке. У меня есть несколько файлов, перенесенных с другого компьютера, которые содержат неанглийские символы. Посмотрите на картинку ниже

введите описание изображения здесь

Теперь я хочу удалить их все. Но ввод этого символа в поле поиска не дает нужных файлов.

введите описание изображения здесь

Как удалить все файлы, содержащие неанглийские/несловные символы?

решение1

Cihad, PowerShell, вероятно, ваш лучший выбор.

Я провел небольшой тест, чтобы найти все неанглийские символы в папке, используя код ниже.

Get-ChildItem c:\TurkishFileNames\ | where-object {$_.name -match "[^\x00-\x80]+"}

Это возвращает все эти неанглийские имена файлов. Затем вы можете передать их в remove-item, но сначала убедитесь, что вы получаете правильные имена. Одна загвоздка здесь в том, что вы говорили об именах «папок», и я проверил это с именами файлов.

Тем не менее, я думаю, что вы можете использовать тот же трюк. Если у вас установлен PowerShell 3.0 или 4.0, вы можете использовать -directory для отображения только имен папок при использовании Get-ChildItem:

Get-ChildItem c:\TurkishFolderNames\ -directory

Остальное будет похоже. Вы можете скачать PowerShell 3.0 или 4.0 с сайта Microsoft

http://www.microsoft.com/en-us/download/details.aspx?id=34595(ВМФ 3.0)

http://www.microsoft.com/en-us/download/details.aspx?id=40855(ВМФ 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

Быстрый способ найти файлы с определенным символом —Powershell

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

Вы также можете использоватьобозначение юникода: 0x2213эквивалентноU+2213

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

Кстати, использование поиска Windows дает мне правильный результат с вашими специальными символами!
Вы уверены, что ничего не настроили неправильно? (Мой конфиг)

введите описание изображения здесь

Связанный контент