Команда Windows для удаления всех файлов, кроме указанного списка файлов, которые могут содержать пробелы в их именах - PullRequest
0 голосов
/ 15 ноября 2018

У меня в папке содержится список файлов. Я использую следующую команду, чтобы удалить все файлы, кроме необходимых файлов. Если в имени есть файл с пробелами, следующая команда не выполняется. Произнесите «Имя файла с пробелом.txt» или «Файл 1.txt»

for /f %F in ('dir /b /a-d ^| findstr /vile "file1 file2 file3"') do del "%F"

Я пытался поместить имена файлов в "", но безуспешно.

1 Ответ

0 голосов
/ 15 ноября 2018

Для этого есть две опции с командой FINDSTR.

Первый - перечислить каждый файл отдельно с помощью опции /C.

for /f "delims=" %F in ('dir /b /a-d ^| findstr /V /I /L /E /C:"file1" /C:"file2" /C:"file3"') do del "%F"

Другая опцияпомещает все строки поиска в файл, по одной в каждой строке, и использует параметр / G.

for /f "delims=" %F in ('dir /b /a-d ^| findstr /V /I /L /E /G:"search.txt"') do del "%F"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...