Я хочу удалить все содержимое указанной папки в Windows 7 через командный файл. Моя проблема в том, что «del» или «erase» удаляет только файлы, а не папки, а «rmdir» или «rd» всегда удаляет указанную папку с ее содержимым, но я хочу удалить только содержимое, а не саму папку , Я попробовал команду ' rmdir /S /Q "C:\Share\*"
', которая дала мне синтаксическую ошибку.
Как правильно это сделать?
Я работаю на 64-битной Windows 7 Professional и имею права администратора.
источник
del
не обязательно.rd/s/q
удалит как файлы, так и подпапки.del
основном для любых файлов в корневой папке, хотя может удалить рекурсивный переключатель.Вы получаете «синтаксическую ошибку», потому что
rmdir
принимает только полные имена, а не подстановочные знаки. (В частностиcmd.exe
, расширение по шаблону оставлено для отдельных программ; не все из них делают.)Если у вас много каталогов, начинающихся с
Share...
, используйтеfor
цикл.источник
Попробуйте это в командной строке:
источник
Как насчет ?
РЕДАКТИРОВАТЬ: конечно, это решение применимо только тогда, когда вы можете терпеть мгновенное отсутствие папки.
источник
for /f
в случаях, подобных моему. Просто хотел поделитьсяЭто не работает, если подкаталоги содержат другие каталоги, содержащие пробелы.
Чтобы сделать эту работу, мне нужно было процитировать последнюю строку, как это
По-видимому, это заставляет команду работать со строкой в кавычках вместо самой строки.
источник
Я хотел бы попробовать это в папке, где все подпапки должны быть удалены, но корень (и файлы в корне) остались без изменений: для / D% v в (*) сделать rd / s / q% v
for / D соответствует каталогам, а rd / s / q удаляет каждый за раз
источник
просто:
rmdir / s / q "путь"
мкдир "путь"
источник