小编use*_*778的帖子

批处理脚本在不使用外部软件的情况下压缩文件夹

我有以下结构的文件夹

folder子文件夹(空)子文件夹file1.bat file2.bat file3.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
Run Code Online (Sandbox Code Playgroud)

zip batch-file

2
推荐指数
1
解决办法
2239
查看次数

标签 统计

batch-file ×1

zip ×1