我为我对vbs的“新鲜感”提前道歉。我正在尝试运行此脚本来搜索我的文件服务器上的所有pst文件。在这一点上,我得到这个错误:
searchpst.vbs(6,26) Microsfot VBScript编译错误:预期语句结束。
我尝试运行的脚本当然名为searchpst.vbs,我知道(6,26)是错误的行号和字符编号,但我似乎不知道如何修复它?下面是我的脚本,非常感谢你的帮助!
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
strsql = "Select" * from CIM_DataFile Where Extension = '"pst"'"
Set fso = CreateObject("Scripting.FileSystemObject")
set wfile = fso.opentextfile("c:\test.csv",2,true)
For Each objFile in colFiles
Wfile.writeline(strComputer & " " & objFile.Drive & " " & objFile.Path & " " & objFile.FileName & "." & objFile.Extension & " " & objFile.FileSize)发布于 2013-05-24 01:40:19
我已经重新格式化了代码,以便更容易阅读。单个撇号'将其后面的所有内容都更改为注释,因此它不是代码的一部分。所以'"pst"'"是不可见的。
实际上,还有更多的问题。这一整行的格式都不正确,而且我认为还有几行顺序不正确。我认为它应该是这样的:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
strsql = "Select * from CIM_DataFile Where Extension = 'pst'"
Set colFiles = objWMIService.ExecQuery(strsql)
Set fso = CreateObject("Scripting.FileSystemObject")
set wfile = fso.opentextfile("c:\test.csv",2,true)
For Each objFile in colFiles
Wfile.writeline(strComputer & " " & objFile.Drive & " " & objFile.Path & " " & objFile.FileName & "." & objFile.Extension & " " & objFile.FileSize)
Next发布于 2013-05-24 01:42:05
如果你调用一个函数来接收它的返回值,你需要param list ();并且_继续一行-所以改变:
Set colFiles = objWMIService.ExecQuery _
strsql = "Select" * from CIM_DataFile Where Extension = '"pst"'"至
strsql = "Select * from CIM_DataFile Where Extension = 'pst'"
Set colFiles = objWMIService.ExecQuery(strsql)或者:
Set colFiles = objWMIService.ExecQuery( _
"Select * from CIM_DataFile Where Extension = 'pst'")在阅读了@Joe (+1)的答案后,我尝试清理SQL中的引号。
https://stackoverflow.com/questions/16720356
复制相似问题