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

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

Ответить
Настройки темы
CMD/BAT - [решено] Добавить возможность закрытия скрипта при отсутствии нужных файлов

Новый участник


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

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


Есть у меня скрипт удаления файлов по маске (нашел где-то на форуме, подправил под себя)
Код: Выделить весь код
@echo off
SetLocal EnableExtensions
 
set mask=*_00.alb
set folder=E:\Air\pool
 
set /a n=0, c=0
for /f "delims=" %%f in ('dir /b /s /a-d "%folder%\%mask%"') do set /a c+=1& del /f /a "%%f" && set /a n+=1
 
exit /b
Проблема в том, что этот скрипт у меня прописан в запуске каждые 10 минут. Если он находит файлы с нужной маской - он корректно отрабатывает и закрывается. Если же в папке таких файлов нету - командная строка остается висеть с сообщением, что файл не найден.
Что нужно добавить в этот скрипт, что б он не найдя нужных файлов просто закрывался?

Отправлено: 14:36, 04-03-2016

 

Аватара для Elven

Ветеран


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

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


Проверку на наличие нужных файлов.
Код: Выделить весь код
@echo off
SetLocal EnableExtensions
 
set mask=*_00.alb
set folder=E:\Air\pool

if exist %folder%\%mask% (
set /a n=0, c=0
for /f "delims=" %%f in ('dir /b /s /a-d "%folder%\%mask%"') do set /a c+=1& del /f /a "%%f" && set /a n+=1
) else (
exit /b)

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

Отправлено: 14:43, 04-03-2016 | #2



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

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


Ветеран


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

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


Код: Выделить весь код
set mask=*_00.alb
set folder=E:\Air\pool
 
2>nul del /f /q /s /a "%folder%\%mask%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:45, 04-03-2016 | #3


Новый участник


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

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


Ндяс... элементарно. Достаточно вспомнить, что пытались вдолбить в голову учителя информатики 20 лет назад ))). Спасибо.

Отправлено: 14:52, 04-03-2016 | #4


Новый участник


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

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


Еще вместо
Код: Выделить весь код
exit /b
нужно было оставить просто
Код: Выделить весь код
exit
что б командная строка закрывалась

Отправлено: 15:08, 04-03-2016 | #5


Ветеран


Contributor


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

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


krokradio,
Iska несомненно привёл наиболее эффективное решение для удаления файлов по маске, но у Вас под циклом еще какие-то действия, я не анализирую их назначение, однако Если же в папке таких файлов нет, то ситуацию, наверное, можно купировать так:
Код: Выделить весь код
for /f "delims=" %%f in ('dir /b /s /a-d "%folder%\%mask%" 2^>nul') do set /a c+=1& del /f /a "%%f" && set /a n+=1

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

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

Отправлено: 15:46, 04-03-2016 | #6


Ветеран


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

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


megaloman, навряд ли:
Цитата krokradio:
нашел где-то на форуме, подправил под себя »
Так что, скорее всего, остатки «того» пакетного файла.

Отправлено: 15:57, 04-03-2016 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] Подсчитать количество нужных файлов в папке Alexander_88 Скриптовые языки администрирования Windows 15 19-11-2015 12:58
CMD/BAT - [решено] Просьба помочь в сортировке нужных файлов Mikle_home88 Скриптовые языки администрирования Windows 1 10-07-2015 15:16
[решено] Определение нужных для скрипта инклюдов saavaage AutoIt 2 30-08-2010 20:21
[решено] Возможность изменить значение переменной без перезапуска скрипта sashadeg AutoIt 3 13-04-2009 19:14
[решено] выполнение нужных файлов ПОСЛЕ установки. как? Vizit0r Автоматическая установка Windows 2000/XP/2003 23 20-06-2008 17:03




 
Переход