с помощью Win7 у меня есть папка, содержащая другую подпапку и файлы. Я не хочу удалять все файлы сценариев с расширением .cs.
2 ответа
В то время как вы запрашиваете что-то, чтобы удалить все не * .cs файлы в пакетном режиме, PowerShell может быть намного проще:
Get-ChildItem -Recurse -File | Where {($_.Extension -ne ".cs")} | Remove-Item
Что это делает:
- Получает все дочерние элементы (файлы и папки) внутри текущей папки рекурсивно и делает это с помощью поиска, ограниченного файлами.
- ограничивает результаты файлами, ГДЕ расширение файла -ne (не равно) ".cs"
- Удаляет каждый возвращенный результат
будьте осторожны при использовании этого - если ваш рабочий каталог - C:\, вы будете (пытаться) стереть все файлы не .cs на вашем диске.
Чтобы проверить, что это удалит, добавьте siwtch -WhatIf в ваш синтаксис, чтобы выполнить тестовый прогон, который фактически не удаляет файлы:
Get-ChildItem -Recurse -File | Where {($_.Extension -ne ".cs")} | Remove-Item -whatif
Вы можете использовать бесплатную версию DiskBoss для поиска всех файлов, кроме файлов с расширением «CS», а затем удалить результаты поиска. Существует много различных типов правил положительного и отрицательного сопоставления файлов, которые можно использовать, чтобы точно указать, какие файлы сопоставлять. Вы можете сохранить пользовательскую команду, а затем выполнить такую команду столько раз, сколько пожелаете. Также есть утилита командной строки, которую можно использовать для выполнения таких команд из пакетных файлов и сценариев оболочки, но утилита командной строки недоступна в бесплатной версии. Подробнее о всех доступных правилах сопоставления файлов см. На следующей странице: Поиск файлов DiskBoss