Пакетный скрипт для архивирования папки без использования внешних программ

У меня есть папка со следующей структурой

папка подпапка (пустая) подпапка file1.bat file2.bat file3.bat

Как мне написать пакетный файл, чтобы сжать содержимое вышеуказанной папки без использования внешних программ, таких как winrar или 7zip?

Я попробовал приведенный ниже код. Но он будет копировать содержимое в указанную временную папку без пустой папки, а при попытке заархивировать папку будет только архивировать файл1 и файл2 и игнорировать остальное содержимое.

Я хотел бы иметь возможность архивировать папку, как она есть, не влияя на структуру.

Я не мог найти причину проблемы. Любая помощь приветствуется.

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

Ответы на вопрос(2)

Ваш ответ на вопрос