backspace
Goto Top

Batchdatei und zip

Hallo,

das packen / zippen in der batchdatei funktioniert bei mir leider nicht.

Vorgesehen ist folgendes::

Der Ordnerinhalt aus Ordner 1 soll gepackt/gezippt werden und in den Ordner2 kopiert werden.

Meine Versuche (mit 7-Zip):


7z a C:\Ordner1 -oD:\Ordner2

oder

C:\Program_Files\7-Zip\7z.exe a C:\Ordner1 -oD:\Ordner2


auch habe ich es erfolglos mit einer For-schleife versucht.

P.S.:Habe mir auch viele Beispiele sowohl hier im Forum als auch im Inet angeschaut, find den Fehler aber nicht.


Danke.

Content-Key: 152812

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

Printed on: April 25, 2024 at 05:04 o'clock

Member: bastla
bastla Oct 11, 2010 at 20:39:08 (UTC)
Goto Top
Hallo Backspace!

Versuch es so:
C:\Program_Files\7-Zip\7z.exe a -tzip D:\Ordner2\Ordner1.zip C:\Ordner1
Reihenfolge also: Zieldatei Quelle

Grüße
bastla
Member: Florian.Sauber
Florian.Sauber Oct 11, 2010 at 21:01:06 (UTC)
Goto Top
Ja genau,

Bastla hats gerichtet! Du hattest Ziel- und Quellverzeichnis vertauscht.
Den Schalter '-tzip' kannst Du auch weglassen, wenn Du das Zielarchiv explizit mit '.zip' angibst.

Genaueres zu den verfügbaren Kommandos und Schaltern/Parametern findest Du in der Hilfedatei 7-zip.chm (befindet sich im selben Verzeichnis, wie 7z.exe) unter dem Punkt "User's Guide for command line version".

LG Florian
Member: Backspace
Backspace Oct 11, 2010 at 21:02:12 (UTC)
Goto Top
Hallo bastla,

vielen Dank für Deine Hilfe !

Hat tatsächlich geklappt.

Danke nochmal.


Gruß

Backspace
Member: bastla
bastla Oct 11, 2010 at 21:07:59 (UTC)
Goto Top
@Florian
Den Schalter '-tzip' kannst Du auch weglassen, wenn Du das Zielarchiv explizit mit '.zip' angibst.
So ist es - ich konnte mich nur einfach nicht entscheiden ... face-wink

Grüße
bastla
Member: Backspace
Backspace Oct 12, 2010 at 08:13:50 (UTC)
Goto Top
Hallo nochmal,

muß Euch leider wieder bemühen.

Gebe ich die Befehlszeilen einzeln über die DOS-Kommandozeile ein, funktionieren sie , versuche ich jedoch die Batchdatei als ganzes über die "Aufgabenplanung" zum laufen zu kriegen, startet dieser auch, jedoch passiert tatsächlich nichts !?


Code:
@echo off

V:\echo j | del sicherungsordner_test\datev_test.zip

C:\Program_Files\7Zip\7z.exe a -tzip V:\sicherungsordner_test\datev_test C:\datev_test

exit

Danke !


P.S.: Hab im Win-Explorer unter Extras / Ordneroptionen den Haken bei "Erweiterte Dateiendungen nicht anzeigen" entfernt.
Member: bastla
bastla Oct 12, 2010 at 11:07:46 (UTC)
Goto Top
Hallo Backspace!
V:\echo j
kann so nicht funktionieren und ist außerdem überflüssig - wenn Du nur eine Datei löschen willst, genügt
del V:\sicherungsordner_test\datev_test.zip
und wenn all ".zip"-Dateien gelöscht werden sollen, reicht auch
del V:\sicherungsordner_test\*.zip
Nur wenn Du alle Dateien des Ordners löschen wolltest, wäre
del /q V:\sicherungsordner_test\*.*
erforderlich ...

Grüße
bastla

P.S.: Und da wir schon bei Entbehrlichem waren: "exit" ohne ein "/b" danach kannst Du generell entsorgen ...

[Edit] "del V:\sicherungsordner_test\*.zip" richtig gestellt [/Edit]
Member: Backspace
Backspace Oct 12, 2010 at 21:25:06 (UTC)
Goto Top
Hallo bastla,

Die folgende Befehlszeile, die Du angesprochen/bemängelt hast, funktioniert bei mir in der DOS-Kommandozeile !? Die Datei wird wie gewünscht gelöscht.
Die Befehlszeile ist so aufgebaut, dass vor dem löschen nicht nach einer Bestätigung gefragt wird.

V:\echo j | del sicherungsordner_test\datev_test.zip

Natürlich habe ich Deine neuen Änderungsvorschläge auch vorgenommen, leider ohne Erfolg.

Aber selbst wenn ich nur die Befehlszeile für das zippen in der Batchdatei stehen lasse, liefert das Ausführen der Batchdatei über den Windows Taskplaner kein Ergebnis.

Wie gesagt, alle Befehlszeilen funktionieren, wenn ich sie manuell über die DOS-Kommandozeile ausführe (einzeln), aber eben nicht in der Batchdatei selbst.

Danke

Gruß

Backspace
Member: bastla
bastla Oct 12, 2010 at 21:39:21 (UTC)
Goto Top
Hallo Backspace!
Die Befehlszeile ist so aufgebaut, dass vor dem löschen nicht nach einer Bestätigung gefragt wird.
Es wird ohnehin (auch ohne das seltsame "echo") nicht gefragt ... face-wink

Damit diese Zeile (bzw der korrekte Teil davon) funktionieren kann, müsste es eine ausführbare Datei "V:\echo.exe" oder "V:\echo.bat", oder ... geben.

Anyhow -zum eigentlichen Problem: Versuch es einmal mit einer ersten Zeile
echo on
und einer letzten Zeile
pause
bzw starte den Batch mit Ausgabeumleitung, also etwa
V:\Zippen.cmd >V:\Log.txt 2>&1

Prüfe auch, ob der User, mit dessen Credentials der Task ausgeführt wird, ausreichende Rechte hat ...

Grüße
bastla