2015-02-16 1 views
0

Я нашел эту ссылку How can I delete files that don't match a wildcard?, которая очень похожа на то, что я хочу сделать, но все мои файлы имеют одинаковое расширение, и я хочу удалить все те, которые не работают сопоставить имя файла с подстановочным знаком. Например. Я хочу сохранить все файлы, которые являются «DOC * .PDF», но удалять все остальные, такие как Smith.PDF. Я попытался изменить ответ, указанный в приведенной выше ссылке, но не добился успеха.Команда удалять файлы всех файлов НЕ нравится подстановочный знак

ответ

1

Из командной строки:

for /f "eol=: delims=" %F in ('dir /b /a-d *.pdf ^| findstr /biv doc') do @del "%F" 

списках команды DIR все файлы .pdf. Результат передается в FINDSTR, который отбрасывает файлы, начинающиеся с DOC (без учета регистра). Результат обрабатывается FOR/F, и каждый файл удаляется индивидуально.

Двойной процент, если используется в сценарии партии.

+0

Это именно то, что мне нужно. Большое спасибо. –

1

Используйте PowerShell.

get-childitem *.pdf -exclude doc*.pdf | remove-item -whatif 

Естественно, параметр -whatif для целей тестирования. Удалите его, чтобы фактически удалить файлы.

+0

Желательно, но я на Windows Server 2008 (а не R2) без powershell. Я должен был указать. Мне нужна линия dos cmd. –

+0

PowerShell доступен как обновление для Windows Server 2008. –

Смежные вопросы