2

Допустим, я в данный момент нахожусь в c:\test\user, но мне нужно удалить определенные файлы в другом каталоге, скажем C:\testb\data\diff. Файлы, которые мне нужно удалить, это те, которые НЕ начинаются с AD_. Возможно ли сделать это в одном операторе командной строки?

1 ответ1

1

Команда MS DOS удаляет файлы, кроме тех, которые начинаются с префикса из другого каталога

Файлы, которые мне нужно удалить, это те, которые НЕ начинаются с AD_. Возможно ли сделать это в одном операторе командной строки?

Командная строка для удаления из определенной папки, кроме определенного шаблона имени файла

Просто запустите приведенный ниже оператор из командной строки с копией и вставкой. При этом используется цикл FOR /F с каналом DIR , переданным команде FINDSTR того, какой шаблон следует сопоставить для исключения.

FOR /F "TOKENS=*" %A IN ('DIR /A-D /B "C:\testb\data\diff" ^| FINDSTR /I /V "AD_"') DO DEL /Q /F "C:\testb\data\diff\%~A"

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

SET DelDir=C:\testb\data\diff
SET DelPattern=AD_

FOR /F "TOKENS=*" %A IN ('DIR /A-D /B "%DelDir%" ^| FINDSTR /I /V "%DelPattern%"') DO DEL /Q /F "%DelDir%\%~A"

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