VBscript中的引用

VBscript中的引用,vbscript,quoting,Vbscript,Quoting,我使用vbscript查询正在执行特定命令的at作业,我相信我的引用错误。当我查询不包含空格或引号的内容时,我已确认脚本按预期工作;但是,当我查询包含空格和引号的内容时,并没有得到期望的结果。我想找到的确切值是: cmd/c c:\Test Folder\Folder1\Blah.cmd 以下是我正在使用的代码: strComputer = "." strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "

我使用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 & "' ")
用于生成仅包含的字符串,并使用&首先连接字符串

mystring = "cmd /c " & """"C:\Test Folder\Folder1\Blah.cmd"""  
未测试

反斜杠\是WMI中的转义字符。因此,WMI查询必须使用双反斜杠\\代替每个单反斜杠:

Set colRandJob = objWMIService.ExecQuery _
    ("Select * from Win32_ScheduledJob WHERE Command='cmd /c ""C:\\Test Folder\\Folder1\\Blah.cmd""' ")

它不应该是C:\Test Folder\Folder1\Blah.cmd吗?(你有太多的双引号)我只是在解决问题,而不是编译问题。同意,OP在问题中的引号是正确的。如果删除WHERE子句,即select all jobs,您会得到什么?我试过了,没有输出。你使用的语法完全正确。看来,你的质疑是不公平的。我相信这是问题的一部分。我已经更新了我的帖子,用的是最终对我有用的东西。