Пакетный скрипт для удаления определенных папок
Я хочу иметь возможность запускать сценарий в родительской папке, содержащей другие папки, сценарий удалит все папки с определенным именем.
Так, например, чтобы удалить все папки bin и только их: \parent\a\bin
, \parent\a\subfolder\bin
, \parent\b\bin
,
Я нашел подобный скрипт здесь, но он не работает:
for /d /r %%i in (bin) do @rmdir /s %%i
Нам, вероятно, нужно очистить bin
папку, а затем удалить ее, как это можно сделать?
1 ответ
Решение
Скрипт удалит все папки с определенным именем
Вам не нужно очищать каталог, так как rd
вариант /s
сделаю это для вас.
Используйте следующий пакетный файл:
@echo off
setlocal enabledelayedexpansion
rem find directories called bin
for /f "usebackq tokens=*" %%i in (`dir /b /s /a:d bin`) do (
rem delete the directories and any files or subdirectories
rd /s /q "%%i"
)
endlocal
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD - Отличный справочник по всем вопросам, связанным с командной строкой Windows.
- dir - Показать список файлов и подпапок.
- for / f - Циклическая команда против результатов другой команды.
- rd - Удалить папку (и).