Какую команду CMD можно использовать для удаления файла, но сохранить файл с определенным текстом в названии?

Вопрос или проблема

У меня много файлов на D:\cert\....., которые я хочу удалить, но сохранить некоторые файлы с определенным текстом в названии с помощью CMD (Windows 10). Например, это одна папка:

20241220cert.pdf
20241220cert_sign.pdf
20241221cert.pdf
20241221cert_sign.pdf
20241222cert.pdf
20241222cert_sign.pdf

Мой вопрос: как удалить все файлы *.pdf, но сохранить *_sign.pdf на D:\ и во всех подпапках в CMD или Powershell для Windows 10.

Пример после выполнения скрипта удаления:

20241220cert_sign.pdf
20241221cert_sign.pdf
20241222cert_sign.pdf

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

mkdir xtemp
move *_sign.pdf xtemp\
del *.pdf
move xtemp\*.* .
rmdir xtemp

Это

  • Создает новый каталог с названием xtemp
  • Перемещает файлы для сохранения в этот каталог
  • Удаляет ненужные файлы
  • Перемещает сохраненные файлы обратно
  • Удаляет каталог.

Обратите внимание, если что-то пойдет не так при перемещении из xtemp, rmdir не удалит каталог, так как он не будет пустым.

Ответ или решение

Вопрос удаления файлов в Windows 10 с использованием командной строки (CMD) или PowerShell может показаться непростой задачей, особенно когда нужно оставлять файлы с определённой частью имени. В данной ситуации необходимо удалить все файлы с расширением *.pdf в папке D:\cert\, исключая те, названия которых содержат "_sign". В этой статье подробно рассмотрим шаги, которые позволят эффективно решить поставленную задачу.

Шаг 1: Создание временной папки

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

mkdir D:\cert\xtemp

Шаг 2: Перемещение нужных файлов

Следующий шаг заключается в перемещении всех файлов, которые содержат "_sign" в названии, в созданную временную папку.

move D:\cert\*_sign.pdf D:\cert\xtemp\

Шаг 3: Удаление ненужных файлов

После того как нужные файлы перемещены, можно безопасно удалить все остальные файлы с расширением .pdf, которые не содержат "_sign" в названии:

del D:\cert\*.pdf

Шаг 4: Перемещение защитных файлов обратно

Затем необходимо вернуть перемещённые файлы обратно в исходную директорию:

move D:\cert\xtemp\* D:\cert\

Шаг 5: Удаление временной папки

Наконец, по завершении всех операций можно удалить временную папку, которая больше не нужна:

rmdir D:\cert\xtemp

Итог

После выполнения всех шагов в папке D:\cert\ останутся только те файлы .pdf, которые содержат в имени "_sign". В результате, структура папок будет выглядеть следующим образом:

20241220cert_sign.pdf
20241221cert_sign.pdf
20241222cert_sign.pdf

Важно

При выполнении команд в CMD или PowerShell обязательно сначала проверяйте каждую команду, чтобы избежать случайного удаления нужных файлов. В случае непредвиденных обстоятельств, команда rmdir не удалит временную папку, если в ней останутся файлы.

Таким образом, следуя данным инструкциям, вы без особых трудностей сможете управлять файлами, сохраняя только необходимую информацию, при этом используя стандартные инструменты Windows 10.

Оцените материал
Добавить комментарий

Капча загружается...