Цитата:
Цитата ritrs@vk
setlocal enableextensions enabledelayedexpansion // ОБЪЯВЛЕНИЕ ЛОКАЛЬНОЙ СРЕДЫ »
|
…с одновременным включением расширенной обработки команд и отложенного раскрытия переменных окружения.
Цитата:
Цитата ritrs@vk
set sTime= //ВВОД ВРЕМЕНИ (?) »
|
Удаление переменной окружения.
Цитата:
Цитата ritrs@vk
set /p sTime=Enter time for start programs [hh:mm]: //ВВОД ВРЕМЕНИ (?) ДВА РАЗА ЧТО ЛИ? »
|
Ввод — только здесь. Один раз. Предыдущая команда, напротив, удаляла (если она была ранее задана) эту переменную окружения.
Цитата:
Цитата ritrs@vk
if not defined sTime ( //В СЛУЧАИ ЕСЛИ НЕ ВВЕДЕНО НА МЕТКУ ПОВТОРА »
|
Да. Только чуть иначе — «если переменная не определена», то, значит, ничего не было введено, и потому — переходим к указанной метке.
Цитата:
Цитата ritrs@vk
echo %sTime%| >nul 2>&1 findstr.exe /i /r /c:"^[0-2][0-9]\:[0-5][0-9]$" || ( //НЕПОНЯЛ »
|
Передаём по конвейеру команде «findstr.exe» вывод команды «echo», а именно — содержимое переменной окружения «sTime», введённое время. Команда «findstr.exe» читает со стандартного ввода переданную строку и проверяет её по указанному шаблону. Если нет соответствия полученной строки указанному шаблону, команда «findstr.exe» устанавливает код козврата отличным от нуля. Соответственно, в этом случае выполняется команда, идущая вслед за «||».
Цитата:
Цитата ritrs@vk
set sPath= //ВВОД ПУТИ (2) »
|
См. объяснение выше аналогично «set sTime=».
Цитата:
Цитата ritrs@vk
if not defined sPath ( //ЕСЛИ НЕ ВВЕДЕНО НА МЕТКУ ПОВТОРА »
|
См. объяснение выше аналогично «if not defined sTime …».
Цитата:
Цитата ritrs@vk
at.exe %time% /interactive "%sPath%" //ЗАПУСК ПРОГРАММЫ »
|
Создание задания.
Цитата:
Цитата ritrs@vk
set sChoice= //ВЫБОР ПОВТОРИТЬ ИЛИ НЕТ »
|
См. объяснение выше аналогично «set sTime=».
Цитата:
Цитата ritrs@vk
if exist "%SystemRoot%\System32\choice.exe" ( //ВЫВОД ВЫБОРА С ИСП, ПРОГРАММЫ ЧОИС »
|
Если у Вас есть NT6.x — используем «choice.exe», иначе — «set /p».