Вопрос или проблема
У меня много файлов на 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.