Я использую vbscript для запроса задания «at», которое выполняет определенную команду, и я считаю, что неправильно цитирую. Я подтвердил, что скрипт работает должным образом, когда я запрашиваю что-то, что не содержит пробелов или кавычек; однако, когда я запрашиваю что-то, что содержит пробелы и кавычки, я не получаю желаемых результатов. Точное значение, которое я хочу найти: cmd /c "C:\Test Folder\Folder1\Blah.cmd"
Вот код, который я использую:
strComputer = "."
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\"_
& strComputer & "\root\cimv2")
Set colRandJob = objWMIService.ExecQuery _
("Select * from Win32_ScheduledJob WHERE Command='cmd /c ""C:\Test Folder\Folder1\Blah.cmd""' ")
For Each objJob in colRandJob
WScript.Echo "Found AT Job with ID " + CStr(objJob.JobID)
Next
Я пробовал несколько разных вещей и не могу найти правильный путь. Может ли кто-нибудь помочь мне и сообщить мне правильный способ сделать это?
Обновить
Я смог решить проблему, выполнив следующие действия (я включаю только соответствующие строки). Я не проверял это без двойной косой черты в пути, но я считаю, что это необходимо вместе с новой цитатой, которую я использовал:
'Assign the string I'm looking for to a variable
set targetCmd = "cmd /c "C:\\Test Folder\\Folder1\\Blah.cmd""
Set colRandJob = objWMIService.ExecQuery _
("Select * from Win32_ScheduledJob WHERE Command='" & targetCmd & "' ")
WHERE
(т.е. выберите все задания)? Я пробовал, и у меня не было выхода - person   schedule 22.08.2011