draganovic
Goto Top

Windows Batch um Datei in Einen Ordner zu Zippen

Hallo,
Habe mahl hier einen Beitrag gelesen und benutzt habe und in Windows Batch Datei erstellt der Ganze Verschiedene Datei in einen Ordner z.b. Ordner Mit Namen in zu zippen und in der Ordner out zu Speichern und der sieht so aus:

set FileToZip=C:\Users\12\Desktop\in
set DestinationZip=C:\Users\12\Desktop\out\1.zip
del "%DestinationZip%"  
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 5000 >> _zipIt.vbs
CScript  _zipIt.vbs  "%FileToZip%"  "%DestinationZip%"  

so weit funktionierts sehr gut.
Meine Frage bezieht sich auf 3 folgende Probleme.
1 Frage... wie kann ich Name des gezippten Datei auf z.b. nach Name der pdf oder txt Datei automatisch zu Benennen.
2 Frage ... bezieht sich auf befehl wScript.Sleep 5000 ..also zeit Vorgabe. Wie kann ich das umgehen das Batch Datei beendet wird wen auch alle Datei komprimiert sind, weil
wen daten klein sind geht super aber wen Datei großer sind dann ist zeit zu kurz.
3 Frage ...Datei in Ordner in sollte sich automatisch löschen nach zippen.
Vielen Dank.

Content-Key: 7135208304

Url: https://administrator.de/contentid/7135208304

Printed on: June 16, 2024 at 15:06 o'clock

Mitglied: 10138557388
Solution 10138557388 Jan 16, 2024 updated at 15:33:48 (UTC)
Goto Top
Da nimmt man gleich Powershell
$folderTozip = "C:\Users\12\Desktop\in"  
$destinationfolder = "C:\Users\12\Desktop\out"  
$firstfile = Get-ChildItem $folderTozip -File  | select -First 1
if ($firstfile){
    Compress-Archive -Path $folderTozip\* -DestinationPath (join-path $destinationfolder "$($firstfile.Basename).zip") -CompressionLevel Optimal -ErrorAction Stop -Force -verbose  
    Get-ChildItem $folderTozip -File | remove-item
}
Fertsch.

VBS bzw. der Windows SkriptHost ist übrigens als Deprecated markiert und wird in den nächsten Windows Version standardmäßig nicht mehr per Default ausgeführt und installiert sein. Also am besten gleich schon anfangen zu migrieren.

pj.
Member: Draganovic
Draganovic Jan 16, 2024 at 18:10:11 (UTC)
Goto Top
Vielen Dank...😀..gut gemacht und aufgeklärt.
Werde ich heute noch ausprobieren.
Member: Draganovic
Draganovic Jan 16, 2024 at 21:09:06 (UTC)
Goto Top
Es funktioniert wunderbar .😃..nochmahl vielen vielen Dank für so eine schnelle Hilfe.
Mitglied: 10138557388
10138557388 Jan 16, 2024 at 21:49:54 (UTC)
Goto Top
🖖🤗