Я хочу иметь командный файл, который удалит все папки и файлы в моей папке кеша для моего беспроводного инструментария.
В настоящее время у меня есть следующее:
cd "C:\Users\tbrollo\j2mewtk\2.5.2\appdb\RMS"
del *.db
Это удалит все файлы .db в моем каталоге RMS , однако я хочу удалить все из этого каталога. Как я могу это сделать?
batch-file
batch-processing
user69514
источник
источник
del /?
в командной строке. Это даст вам информацию о том, как использовать инструмент. В этом случаеdel *.* /s
будет работать, но не делайте это в неправильном каталоге!rmdir /s /q c:\users\tbrollo\j2mewtk\2.5.2\appdb\RMS
RMS
каталог, который может не соответствовать тому, что предполагалось. (На самом деле это часто то, чего я не хочу, потому что тогда я теряю первоначальную временную метку каталога и все имеющиеся у него разрешения.) См. Мой ответ, чтобы узнать, как удалить все содержимое каталога, но оставить сам каталог в место.Ответы:
del *.*
вместоdel *.db
. Это удалит все.источник
del . /F /Q
Использование:
Создать пакетный файл
Скопируйте приведенный ниже текст в командный файл
Это удалит все файлы и папки.
источник
chcp 10000
измените кодировку на UTF-16(rmdir "%%i" /s/q 2>NUL || del "%%i" /s/q >NUL )
подавление сообщений об ошибках и удаленииЭто удалит все из папки (и самой папки).
источник
del *.*
удаляет только файлы, но не подкаталоги. Чтобы очистить содержимое каталога, вы можете использовать этот скрипт:В
pushd
изменениях в каталог которого вы хотите удалить ребенок. Затем, когдаrd
просит удалить текущий каталог и все вложенные каталоги, удаление вложенных каталогов завершается успешно, но удаление текущего каталога завершается неудачно - потому что мы в нем. Это приводит к ошибке, которая2> NUL
глотает. (2 - поток ошибок).источник
Я просто собрал это воедино из того, что написал morty346:
Он добавляет быструю проверку того, что папка, определенная в переменной, существует первой, меняет каталог на папку и удаляет содержимое.
источник
Вы можете сделать это, используя
del
и/S
флаг (чтобы указать, что нужно извлекать все файлы из всех подкаталогов):Команда RD также может быть использована. Рекурсивно тихо удалить без запроса:
Rmdir (rd)
источник
источник
Попробуйте следующее; меня устраивает.
У меня есть приложение, которое сбрасывает данные в мою папку «C: \ tmp», и следующее работает лучше всего для меня. Он даже не спрашивает Да или Нет, чтобы удалить данные. Я составил график запуска через каждые 5 минут
источник
del /q c:\tmp\*.*
, что примерно в миллион раз безопаснее. Не говоряcd
уже о том, что изменится только путь, а не диск.А еще лучше, скажем, я хочу удалить все в
C:\windows\temp
папке.источник
c:\windows\temp
. Я не думаю, что это было то, что задал оригинальный вопрос.Вы можете использовать robocopy для зеркалирования пустой папки в папку, которую вы очищаете.
Это также работает, если вы не можете удалить или воссоздать фактическую папку.
Требуется существующий пустой каталог.
источник
/MIR :: MIRror a directory tree (equivalent to /E plus /PURGE).
- так что я вполне уверен, что/E
это избыточно.использование
Эта версия удаляется без запроса:
Пример:
Это будет ясно
C:\foo1\foo\foo\foo3
.(Я хотел бы упомянуть ответ Абдуллы Сабуина . Я перепутал его с копией . Я не заметил его пост. Я хотел бы поблагодарить вас, Мельпомена, за указание на ошибки!)
источник
rmdir foo
ошибки, еслиfoo
не пустой каталог.Вы не можете удалить все с одним
rmdir
илиdel
одним:rmdir /s /q
не принимает групповые параметры. Такrmdir /s /q *
будет ошибка.del /s /f /q
удалит все файлы, но пустые подкаталоги останутся.Мое предпочтительное решение (как я использовал во многих других пакетных файлах):
источник
Просто измененная версия ответа ГрегМ :
источник
Вы были на правильном пути. Просто добавьте код, чтобы добавить папку, которая будет удалена снова.
источник
Вы должны выполнить эту команду, чтобы удалить все файлы:
источник
del *.*
(с пробелом)