Пакетная программа выполняется в определенное время?
Я пытался получить партию, чтобы начать другую партию в определенный день. (указано) Я перепробовал все, что мог придумать. TIMEOUT не работает для этого. Какие-либо предложения? РЕДАКТИРОВАТЬ: я сожалею, что не включил достаточно информации. под "партией" я имел в виду партию, как на языке. Мне нужно написать скрипт на языке пакетной обработки для выполнения в желаемую дату. Скажи, если я написал этот код в пакетном режиме...
@echo off
:start
start notepad.exe
pause >nul
goto start
... и я хотел, чтобы он выполнялся автоматически в определенную дату, например, 25 ноября, как мне поступить? Спасибо за понимание.
2 ответа
Бесконечный цикл будет тратить слишком много системных ресурсов. Планировщик заданий - хороший выбор.
schtasks /create /tn "My App" /tr C:\test.bat /sc once /st 00:00:00 /sd 11/25/2013 /ru System
Вы всегда можете использовать Task Scheduler
делать работу - вот для чего она была построена.
Вы могли бы попробовать
в 23:30 / каждый:1,4,8,14,16,23,28 "yourbat.bat"
Бежать yourbat.bat
в 23:30 (23:30) в день (дни) после /every:
(запускать каждый месяц) или много других вариантов - см.
at /?
из подсказки и будьте готовы немного поэкспериментировать.
Но если вы хотите запустить в определенный день без использования планировщика задач (хотя AT
просто планирует работу...), то вы могли бы добавить
if not "%date%"=="whateverdateyouwant" goto :eof
в начале yourbat.bat
код (и целевая дата должна быть в том же формате, что и дата, указанная наecho %date%
инструкция
Но есть бесконечные возможности - например, иметь список дат / времени / процессов в файле и сопоставлять их с текущей датой / временем и использовать
if "%date%"=="%%A" if "%time%" gtr "%%B" start "" %%C
Где точная конструкция зависит от более конкретного определения того, что вы делаете, и спецификации форматов даты и времени, которые вы используете.