Я знаю, что существует в и schtasks. Но я не мог выяснить, как использовать их для выполнения задачи скоро и однажды. Я читал о скоро команда, но в моей версии Windows нет такой команды.
Я планирую включать эту команду в пакетный файл и, из-за этого, я не могу hardcode время начала.
Команда schtasks может сразу выполнить определенную задачу.
От того, Как использовать Schtasks.exe для Планирования Задач в Windows Server 2003
Schtasks / Выполнение
Сразу запускает запланированную задачу. Операция выполнения игнорирует расписание, но использует местоположение программного файла, учетную запись пользователя и пароль, которые сохраняются в задаче сразу выполнить задачу.
Синтаксис:
schtasks /run /tn TaskName [/s computer [/u [domain\]user /p password]] /?
Поэтому просто определите задачу, затем выполните ее сразу в любое время, Вы должны.
Работа сверху ответа Keith для удовлетворения потребностям:
timeout /t X ; psexec -i -s Y
Где
timeout
замены спят в Windows 7.X
секунды должны ожидать определенные /t
, добавить /nobreak
если Вы хотите не разрешить пользователю продолжать.psexec
от Microsoft SysInternals позволяет Вам работать интерактивный (-i
) как локальная система (-s
), обратите внимание на то, что необходимо запустить psexec однажды, чтобы принять в первый раз EULA или добавить -accepteula
.Y
Ваша команда.runas
не позволяет Вам запускаться как локальная система, вот почему использовать PsTools для связанных с процессом задач.
Запуск Запланированной задачи или Сервиса походит на слишком большое обходного решения для меня...
Например, ответ Patrick может просто быть переписан как:
timeout /t 120 ; psexec -i -s calc.exe
Это запускает calc.exe через 2 минуты. Изменитесь
set /A START_MIN=%%j + 2
строка для изменения временного интервала.
for /f "delims=:. tokens=1,2" %%i in ("%time%") do (
set /A START_HOUR=%%i
set /A START_MIN=%%j + 2
)
IF %START_MIN% GEQ 60 (
call :AdjustStartTime
)
IF %START_MIN% LSS 10 SET START_MIN=0%START_MIN%
SCHTASKS /Create /SC ONCE /TN "My Scheduled Task Name" /RU "" /TR "C:\Windows\System32\Calc.exe" /ST %START_HOUR%:%START_MIN%
:AdjustStartTime
SET /A START_HOUR=%START_HOUR% + 1
SET /A START_MIN=%START_MIN% - 60
GOTO:EOF