【发布时间】:2015-02-01 02:40:11
【问题描述】:
我有以下结构的文件夹
文件夹 子文件夹(空) 子文件夹 文件1.bat 文件2.bat 文件3.bat
如何在不使用 winrar 或 7zip 等外部软件的情况下编写批处理文件来压缩上述文件夹的内容?
我尝试了以下代码。但它会将内容复制到指定的临时文件夹而没有空文件夹,并且在尝试压缩文件夹时它只会压缩 file1 和 file2 并忽略其余内容。
我希望能够在不影响结构的情况下压缩文件夹。
我找不到问题的原因。任何帮助表示赞赏。
set FILETOZIP=D:\OutputZipFiles\TestWorkDemo
set TEMPDIR=D:\OutputZipFiles\TempDir
rmdir %TEMPDIR%
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 objShell.NameSpace(ZipFile).CopyHere(source) >> _zipIt.vbs
echo wScript.Sleep 2000 >> _zipIt.vbs
CScript _zipIt.vbs %TEMPDIR% D:\OutputZipFiles\someArchive.zip
pause
【问题讨论】:
标签: batch-file zip