Я хочу найти и удалить * .mp4 * .mpeg, * .mkv, * .flv, * .avi (все видеофайлы) со всех дисков (C, D, E, F) или из любого места на моем компьютере в любом каталоге или подкаталог, используя BATCH File. Моя операционная система - Windows XP.
Я хочу найти и удалить * .mp4 * .mpeg, * .mkv, * .flv, * .avi (все видеофайлы) со всех дисков (C, D, E, F) или из любого места на моем компьютере в любом каталоге или подкаталог, используя BATCH File. Моя операционная система - Windows XP.
Ответы:
for %%drive in (C D E F) do (
for /R %drive:\ %%f in (*.mp4 *.mpeg *.mkv *.flv *.avi) do (
@echo del "%f"
)
)
( Документация )
У меня нет средств проверить это прямо сейчас. Просто запустите его и посмотрите, все ли правильно. После этого удалите @echo
и запустите его снова.
cmd.exe
и нажмите Вернуть или нажмите OK) и выполните оттуда командный файл или последовательность команд. После этого он останется открытым.
Прежде всего, может быть довольно опасно слепо удалять файлы с помощью командного файла, потому что это уничтожит все и вся. И хотя это, по-видимому, ваша цель, вы должны знать, что это также приведет к уничтожению файлов, которые являются частью операционной системы (Windows поставляется с несколькими видео здесь и там), а также любых программ и игр, имеющих видеофайлы. Если ваша цель состоит в том, чтобы освободить место, то есть лучшие способы сделать это (кроме того, не все видео большие).
В любом случае, после того, как моя первоначальная версия волшебным образом перестала работать без видимой причины (да, я пытался учесть все), я использовал работать вокруг , Единственный недостаток использования pushd
в том, что если вы прервете пакетный файл, вы попадете на тот диск, на котором он находился, когда вы нажали Ctrl + Перерыв ,
Вместо того, чтобы просто слепо удалять все, я сделал так, чтобы он строил вторичный пакетный файл ( delmovie.bat
), который вы можете просмотреть, чтобы убедиться, что там нет ничего, что вы хотите сохранить. Затем вы можете просто запустить сгенерированный пакетный файл, чтобы удалить их. Это займет несколько дополнительных секунд, но гораздо безопаснее.
@echo off
echo @echo off > delmovie.bat
for %%i in (C:\Users C:\Videos D:\ E:\ F:\) do (
pushd %%i
for /r %%j in (*.mp4 *.mpeg *.mkv *.flv *.avi) do (
echo del "%%j" >> %~dp0delmovie.bat
)
popd
)
Эта версия исключает системные каталоги с белым списком, а не с черным списком, поэтому вместо исключения каталогов, которые вы хотите игнорировать, она добавляет те, которые вы хотите сканировать (наоборот, было бы немного сложнее, и я могу предоставьте скрипт для этого, если вам нужно). я добавил c:\videos
в качестве примера того, как вы можете добавить свои собственные каталоги, если это необходимо (ничего не мешает оставить c:'videos
там, если у вас нет такого каталога).