【发布时间】:2016-03-24 16:19:30
【问题描述】:
我想用批处理/vbs 解决方案压缩一些文件夹,如下所示:https://superuser.com/a/112094
这个工作,但原来的解决方案使用“睡眠”功能,我的档案有不同的文件大小,所以这不能正常工作。我的想法是使用 Run 命令(等待参数),但它失败了。
set FILETOZIP=C:\users\xyz\documents\folderOrfile
set TEMPDIR=C:\users\xyz\documents\temp
rmdir %TEMPDIR% /s /q
mkdir %TEMPDIR%
xcopy /s %FILETOZIP% %TEMPDIR%
echo Set objArgs = WScript.Arguments > _zipIt.vbs
echo InputFolder = objArgs(0) >> _zipIt.vbs
echo ZipFile = objArgs(1) >> _zipIt.vbs
echo CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" ^& Chr(5) ^& Chr(6) ^& String(18, vbNullChar) >> _zipIt.vbs
echo Set objShell = CreateObject("Shell.Application") >> _zipIt.vbs
echo Set source = objShell.NameSpace(InputFolder).Items >> _zipIt.vbs
echo theString = objShell.NameSpace(ZipFile).CopyHere(source) >> _zipIt.vbs
echo objShell.Run theString, 1, true >> _zipIt.vbs
CScript _zipIt.vbs %TEMPDIR% C:\users\xyz\documents\someArchive.zip
pause
错误信息如下:
对象不支持此属性或方法:objShell.Run
我怎样才能让脚本等到 zip 创建完成?
【问题讨论】:
标签: windows command-line vbscript cmd zip