Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Рекурсивное удаление папки по полному пути

Ответить
Настройки темы
CMD/BAT - Рекурсивное удаление папки по полному пути

Забанен


Сообщения: 27
Благодарности: 2

Профиль | Цитировать


Допустим есть у нас папки в текущей директории test1, test2 и test3. Они одинаково хорошо удаляются командами:
Код: Выделить весь код
rd /s /q test1 test2 test3
rd /s /q C:\proof\test1 C:\proof\test2 C:\proof\test3
То есть текущей папкой является C:\proof. Как удалить папки из другой папки, не меняя рабочей папки, по их полному (понятное дело) пути? То есть cd и pushd не айс, их использовать не хотелось бы.

Отправлено: 18:17, 13-08-2020

 

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Дык команда с абсолютными путями и сработает откуда угодно, не понимаю в чем вопрос.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:30, 13-08-2020 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Elven, в нежелании вводить эти абсолютные пути, нужно полагать. Если предполагалась какая-то одна папка и при этом с очень длинным путём, любой психанёт. А так, если есть sed можно уложиться в однострочник вида:
Код: Выделить весь код
robocopy . X:\this\is\very\long\path /l /nfl /njh /njs /ns /nc | sed "1,2d;s/.*/rd \/q\/s &/" | cmd >nul
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:41, 13-08-2020 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Чем не «айс»:
Код: Выделить весь код
pushd "C:\proof" && (rd /s /q "test1" "test2" "test3" & popd)
— не понятно.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:22, 13-08-2020 | #4


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
FOR %%d IN (Тест1 Тест2 Тест3 "Еще один тест") DO Rd /s /q "Z:\Box_In\Длинное имя\%%~d"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:27, 13-08-2020 | #5


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


megaloman, тогда уж forfiles:
Код: Выделить весь код
forfiles /p X:\this\is\long\path /c "cmd /c if @isdir==TRUE rd /q/s @path" >nul
Iska, не знаю как прочим, но перечислять название папок очень утомительно. Если пара-тройка, конечно, ничего, но если пачка... всё равно что в ногу себе стрелять из дробовика. Пример с sed можно сдобрить регуляркой, отсеивающей какие-то папки по определённому критерию, ровно как и в случае с forfiles можно задать некоторые шаблоны.

Последний раз редактировалось greg zakharov, 13-08-2020 в 22:11.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:01, 13-08-2020 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Рекурсивное удаление папки по полному пути

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Удаление папки с указанием относительного пути BKPB Скриптовые языки администрирования Windows 4 06-06-2020 15:19
Любой язык - Изменение пути в INI файле по имени папки верхнего Kn9z Скриптовые языки администрирования Windows 12 10-10-2018 20:40
Прочее - [решено] Общие сетевые ресурсы доступны только по полному пути UncleD Сетевые технологии 3 21-08-2018 12:56
CMD/BAT - [решено] Удаление папки по дате Obnin Скриптовые языки администрирования Windows 8 14-12-2011 13:21
CMD/BAT - [решено] Найти папкИ и переместить их по указанному пути... djvall Скриптовые языки администрирования Windows 1 02-02-2011 08:58




 
Переход