Из сценария cmd.exe, как я могу запланировать запуск задачи при следующей загрузке (и никогда больше)? - PullRequest
1 голос
/ 26 августа 2009

Как часть очень простого cmd.exe установочного скрипта, мне нужно запустить программу при следующей перезагрузке машины. Я не хочу, чтобы он запускался после этого (это инструмент настройки с одним выстрелом).

Программа на самом деле будет другим cmd.exe сценарием, но подойдет любой пример, так как я могу запустить cmd / c для самого сценария.

Какой лучший способ сделать это?

1 Ответ

1 голос
/ 26 августа 2009

Вы можете использовать клавишу SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

Этот VB скрипт может помочь. Выдержка:

workfile      = ifile.ReadLine
strcomputer   = ucase(left(workfile,instr(workfile,",")-1))
Set oReg      = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strcomputer & "\root\default:StdRegProv")

if err.number <> 0 then
 ofile.WriteLine "[" & now() & "] " & strcomputer & " will NOT run once. Failed to set runonce install with error: " & Err.Number & "/" & left(Err.Description,17) 
else
 sKeyPathEnv      = "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"
 sValueName       = "Set_RunOnce"
 sKeyPath     = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"
 sValueName       = "SystemRoot"

 oReg.GetExpandedStringValue HKLM, sKeyPath, sValueName, sSystemRoot
 oReg.SetStringValue HKLM, sKeyPathEnv, "Set_RunOnce", vRunOnce

 if Err.Number <> 0 then
  ofile.WriteLine "[" & now() & "] " & strcomputer & " will NOT run once. Failed to set runonce install with error: " & Err.Number & "/" & left(Err.Description,17) 
 else
  ofile.WriteLine "[" & now() & "] " & strcomputer & " will run once via runonce at next reboot. "
 end if
end if
...