Мой текущий 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 дает мне правильный результат с вашими специальными символами!
Вы уверены, что ничего не настроили неправильно? (Мой конфиг)