我正在使用VBScript來查詢執行特定命令的「at」作業,並且我相信我有引用錯誤。當我查詢不包含空格或引號的內容時,我已經確認該腳本符合預期;然而,當我查詢包含空格和引號的內容時,我沒有得到期望的結果。確切的價值,我想找到的是: CMD/C 「C:\ Test文件夾\ Folder1中\ Blah.cmd」VBscript中的引用
這裏是我使用的代碼:
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'條款(即選擇所有作業)?我試過了,沒有輸出 – 2011-08-22 11:08:01
你用過的語法是完全正確的。看來,你的查詢沒有平等。 –