batch-Skript zum Komprimieren eines Ordners ohne Verwendung externer Software

Ich habe Ordner mit der folgenden Struktur

folder Unterordner (leer) Unterordner file1.bat file2.bat file3.bat

Wie schreibe ich eine Batch-Datei, um den Inhalt des obigen Ordners zu komprimieren, ohne externe Software wie winrar oder 7zip zu verwenden?

Ich habe den folgenden Code ausprobiert. Der Inhalt wird jedoch ohne den leeren Ordner in den angegebenen temporären Ordner kopiert, und beim Versuch, den Ordner zu komprimieren, werden nur Datei1 und Datei2 komprimiert und der Rest des Inhalts ignoriert.

Ich möchte in der Lage sein, den Ordner so zu komprimieren, wie er ist, ohne die Struktur zu beeinflussen.

Ich konnte den Grund für das Problem nicht finden. Jede Hilfe wird gebeten.

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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage