Имя пользователя:
Пароль:
 | Правила  

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

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

Аватара для Sisin

Старожил


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

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


Изменения
Автор: Sisin
Дата: 26-09-2017
Подскажите, пожалуйста, как написать пакетный файл следующего содержания:
Код: Выделить весь код
начало
проверка наличия нескольких папок
если папки есть, то удалить их и идти в начало
если папок нет, то идти в конец
конец

Отправлено: 13:49, 26-09-2017

 

Ветеран


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

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


Sisin, не вижу тут цикла.

Отправлено: 13:58, 26-09-2017 | #2



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

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


Аватара для Sisin

Старожил


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

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


Цитата Iska:
не вижу тут цикла. »
Теперь точно нет)))

Цитата megaloman:
1. Где расположены папки? Это несколько подпапок в одной папке, или пути произвольны? Они могут быть вложены по заранее неизвестному пути или путь четко задан?
2. Несколько - это сколько? От и до?
3. Удалять при условии, что все папки найдены, или, если хотя бы одна отсутствует, ничего не делать (конец цикла)? »
1.Пути произвольны.
2.До 10
3.Надо добиться, чтобы папки были удалены.

Пояснение: В папках файлы, которые могут быть заняты процессами, но вот-вот освободятся. Папки должны быть удалены. Если делать обычной командой удаления директории, то есть вероятность, что если файл в папке занят процессом, то соответственно папка не удалится. Для этого надо проверить наличие папки.

Отправлено: 14:20, 26-09-2017 | #3


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls

:Begin
Set /A Repeat=0

Call :TryRD "Z:\In\Box_In\111"
Call :TryRD "Z:\In\Box_In\123 любой набор символов\любой набор символов\Soft_In\папка 1"    
Call :TryRD "Z:\In\Box_In\123 любой набор символов\любой набор символов\Soft_In\папка 2"        

If %Repeat% GTR 0 GoTo :Begin
GoTo :Eof

:TryRD
	If Exist %1 (Rd /S /Q %1 2>nul ||Call Set /A Repeat+=1)
GoTo :Eof

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


Последний раз редактировалось megaloman, 26-09-2017 в 19:41.

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

Отправлено: 19:35, 26-09-2017 | #4


Ветеран


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

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


Цитата Sisin:
Пояснение: В папках файлы, которые могут быть заняты процессами, но вот-вот освободятся. Папки должны быть удалены. »
Тогда надо не изобретать велосипед. Надо проверять наличие процесса перед удалением, выдавать запрос пользователю и ожидать его завершения. Бегать по кругу в цикле не есть хорошо и правильно — каталог может не удаляться по многим причинам.
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:54, 27-09-2017 | #5


Аватара для Sisin

Старожил


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

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


Цитата Iska:
каталог может не удаляться по многим причинам. »
В моем случае причина одна: приложение закрывается неопределенное время "по многим причинам")))

Отправлено: 11:42, 27-09-2017 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] вложенный цикл for с условием if ivanxam Скриптовые языки администрирования Windows 14 23-05-2014 21:24
CMD/BAT - [решено] Проверка папки на существование, с условием tAnk3o3 Скриптовые языки администрирования Windows 4 05-03-2013 11:06
CMD/BAT - Проверка наличия папки на FTP сервере Joshomaki Скриптовые языки администрирования Windows 0 04-10-2012 07:34
CMD/BAT - [решено] Подгрузка содержимого файла в переменную с последующим ее поиском в другом файле slfly Скриптовые языки администрирования Windows 2 14-02-2012 16:53
VBS/WSH/JS - [решено] Архивация файлов с последующим удалением Romano Скриптовые языки администрирования Windows 5 23-03-2011 18:03




 
Переход