传递带空格的变量时,无法在vbscript中运行命令

时间:2014-02-03 22:59:03

标签: vbscript command

我正在尝试使用obj.Run来压缩带有7zip的文件,但我无法压缩路径有空格的文件,尽管我正在逃避它们。 将被压缩的文件的路径可以有空格,它将接收文件zip的名称和输入文件的路径作为变量,之前已定义。

  

语法:<7z.exe> a -tzip -p<password> <destination zip file> <input file>

Set WshShell=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")

这是我尝试用来压缩文件的指令。

WshShell.Run "CMD /C """& path7zip &""" a -tzip -pVIRUS D:\folder\"&processName&".zip "&""""&processPath&"""",0,True

要进行调试,我添加了一条指令来回显传递给run命令的相同字符串,如果我将其复制并粘贴回命令提示符,则会压缩文件而不会出现问题。

Wscript.Echo "CMD /C """& path7zip &""" a -tzip -pVIRUS D:\folder\"&processName&".zip "&""""&processPath&""""

这是它向命令提示符显示的行的示例:

"C:\Archivos de programa\7-zip\7z.exe" a -tzip -pVIRUS D:\folder\imreallybad.exe.zip "D:\Documents and Settings\Administrador\Datos de programa\imreallybad.exe"

1 个答案:

答案 0 :(得分:0)

这是一篇带有固定zip和解压缩功能的文章,也许语法可以帮到你:

http://www.naterice.com/articles/38