我有这个vb脚本:
Dim Fso
Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
set WshShell = WScript.CreateObject("WScript.Shell")
'Run the 7-zip command line instruction via thw WshShell to delete files in Tableau Export Packaged Workbook
desfile = "C:\Tableau_Dashboards\Partner_Life_Cycle\ALL_PARTNERS\twbx\Partner_Life_Cycle_ALL_PARTNERS.zip"
srfile = "C:\Tableau_Dashboards\Partner_Life_Cycle\ALL_PARTNERS\twbx\Data"
strCommand = "C:\Program Files\7-Zip\7z.exe d -tzip & desfile & srfile & "
' Run 7-Zip in shell
WshShell.Run strCommand,0,true
WScript.Sleep 5000
我收到错误“第15行:系统找不到指定的文件”
第15行是WshShell.Run strCommand,0,true part。
我该如何解决这个问题?
由于
瑞克
答案 0 :(得分:1)
在您的代码中,串联运算符&
将被视为字符串的一部分,因为您没有使用引号关闭前一个字符串。
应该是:
strCommand = "C:\Program Files\7-Zip\7z.exe d -tzip" & " " & desfile & " " & srfile
(在路径之间添加空格。)
由于exe的路径包含空格( Program Files ),因此必须将其括在引号中:" C:\ Program Files \ 7-Zip \ 7z.exe& #34;
要在vbscript中的字符串中获取引号,引号必须加倍。
strCommand = """C:\Program Files\7-Zip\7z.exe"" d -tzip" & " " & desfile & " " & srfile