【发布时间】:2012-10-16 15:23:06
【问题描述】:
这个查询在我的本地机器上运行良好:
strComputer = "."
drive = "C:"
path = "\\path\\to\\local\\folder\\"
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery("Select * From CIM_DataFile Where Path = '"&path&"' and drive='"&drive&"'")
If colFiles.Count < 1 Then
Wscript.Echo "Folder does not exist"
Else
Wscript.Echo "Folder does exist"
End If
但是当我尝试查询映射的网络驱动器时,程序失败并显示“文件夹不存在”。但我确信它是文件的正确路径。
唯一改变的部分是:
drive = "Z:"
path = "\\path\\to\\mapped\\drive\\folder\\"
关于为什么这不起作用的任何线索?
【问题讨论】:
-
在 vbscript 中使用这样的双反斜杠是不合适的。
-
好的,但是程序对于本地文件运行良好。这使用双反斜杠。所以我认为不会是反斜杠。
-
避免去想它。实际上删除反斜杠并重试。会发生什么?
-
当我从路径名中删除反斜杠时,我收到来自 Windows 脚本主机的错误,读取“无效查询”,源 SWbemObjectSet,代码 80041017。
标签: windows vbscript wmi wmi-query