с помощью Win7 у меня есть папка, содержащая другую подпапку и файлы. Я не хочу удалять все файлы сценариев с расширением .cs.

2 ответа2

0

В то время как вы запрашиваете что-то, чтобы удалить все не * .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

(Смотрите ниже, используя расширение .txt)

0

Вы можете использовать бесплатную версию DiskBoss для поиска всех файлов, кроме файлов с расширением «CS», а затем удалить результаты поиска. Существует много различных типов правил положительного и отрицательного сопоставления файлов, которые можно использовать, чтобы точно указать, какие файлы сопоставлять. Вы можете сохранить пользовательскую команду, а затем выполнить такую команду столько раз, сколько пожелаете. Также есть утилита командной строки, которую можно использовать для выполнения таких команд из пакетных файлов и сценариев оболочки, но утилита командной строки недоступна в бесплатной версии. Подробнее о всех доступных правилах сопоставления файлов см. На следующей странице: Поиск файлов DiskBoss

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .