|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Обработка условий (IF) |
|
CMD/BAT - [решено] Обработка условий (IF)
|
![]() Пользователь Сообщения: 90 |
Помогите разобраться где допустил ошибку. Может даже как-то можно упростить код:
@echo off setlocal enableextensions enabledelayedexpansion SET f=%~dp0 SET CONS="%f%CONS.exe" ::Формирование usr в скрытом режиме. При ошибке присваиваем значение ErrorAdmUsr= %CONS% /adm /usr /yes /norunner+ || SET ErrorAdmUsr=Не удалось сформировать usr-файл по ключу /adm /usr ::Задаем переменной %usrnew% полный путь к самому новому *.usr-файлу, а %usrtime% - время его изменения if exist "%f%RECEIVE\*.USR" ( for /f "delims=" %%i in ('dir /b /a:-d /o:d "%f%RECEIVE\*.USR"') do set usrnew=%%i set usrnew=%f%RECEIVE\%usrnew% for %%i in ("%usrnew%") do set usrtime=%%~ti ) else do ( set usrtime= ) if %ERRORLEVEL%==0 (goto usrtime) else (goto ErrorAdmUsr) :usrtime echo Время формирования usr-файла: %usrtime% >> "%f%body.txt" :ErrorAdmUsr echo .......... >> "%f%body.txt" if "%ErrorAdmUsr%"=="Не удалось сформировать usr-файл по ключу /adm /usr" ( echo %ErrorAdmUsr% >> "%f%body.txt" set WARNING=[ERROR] ) |
|
Отправлено: 03:00, 30-08-2014 |
![]() Пользователь Сообщения: 90
|
Профиль | Отправить PM | Цитировать Вроде с задачей справился своими силами. Может еще как-то оптимизировать? или и так сойдет?
@echo off setlocal enableextensions enabledelayedexpansion SET f=%~dp0 SET CONS="%f%CONS.exe" ::Формирование usr в скрытом режиме. При ошибке присваиваем значение ErrorAdmUsr= %CONS% /adm /usr /yes /norunner+ || SET ErrorAdmUsr=Не удалось сформировать usr-файл по ключу /adm /usr ::Задаем переменной %usrnew% полный путь к самому новому *.usr-файлу, а %usrtime% - время его изменения for /f "delims=" %%i in ('dir /b /a:-d /o:d "%f%RECEIVE\*.USR"') do set usrnew=%%i set usrnew=%f%RECEIVE\%usrnew% for %%i in ("%usrnew%") do set usrtime=%%~ti if %ERRORLEVEL%==0 (goto usr+) else (goto usr-) :usr+ echo Время формирования usr-файла: %usrtime% >> "%f%body.txt" goto usr++ :usr- set usrtime= echo .......... >> "%f%body.txt" echo %ErrorAdmUsr% >> "%f%body.txt" set WARNING=[ERROR] goto usr-- :usr++ echo .......... >> "%f%body.txt" :usr-- P.S.: Только сейчас придумал, что лучше было бы записывать в разные файлы отдельно результаты работы и отдельно ошибки, а после файлы объединить. Чтобы в итоге в письме было красиво всё написано. P.P.S.: А еще лучше использовать переменные с помощью команды set и уже в конце сформировать файл, расположив все переменные в нужной мне последовательности (может быть до 20 переменных) |
Последний раз редактировалось V!RTuE, 30-08-2014 в 07:06. Отправлено: 05:44, 30-08-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Скрипт с проверкой условий | wiznv | Скриптовые языки администрирования Windows | 6 | 30-07-2014 07:26 | |
VBS/WSH/JS - Завершение условий | Тишина | Программирование и базы данных | 2 | 11-04-2014 16:23 | |
[решено] Несколько условий в переменной $re2 | KrotMen | Вебмастеру | 2 | 08-07-2012 15:16 | |
Использование - Изменение условий лицензирования Windows PE | okshef | Лицензирование продуктов Microsoft | 0 | 23-03-2012 08:29 | |
Firewall несколько условий для порта | Welcome | Microsoft Windows NT/2000/2003 | 0 | 14-06-2011 04:07 |
|