如何在vb脚本中使用7-zip命令行从zip文件夹中删除文件?

时间:2017-06-18 02:47:54

标签: vbscript

我有这个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。

我该如何解决这个问题?

由于

瑞克

1 个答案:

答案 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