[Batch]Suche *.zip programm das sich über Batch dateil steuern lässt und ...

Ja ne So wies ist mit der Archiv erstellung passts ja nur mit dem namen nicht :)
 
Meinst du schon die neueste Version? Passt die nun oder nicht? Ich bin zugegebenermaßen etwas verwirrt. :confused_alt:
 
Ja auch in der neusten Version. Ich brauche die neusten logs als zip datei mit dem namen logs.zip

Also garnicht so komplizert wie du denkst. Einfach in einem Vorgegebenen Ordner eine logs-zip erzeugen :)

**UPDATE**

Anwender fehler! geht alles :D
 
Zuletzt bearbeitet:
Ja dann gib einfach logs.zip im Parameter an.

So hab ich dir nur die Möglichkeit geschaffen, den Dateinamen auch anzupassen, sollte es jemals notwendig werden, einen anderen Dateinamen zu verwenden.

Anstatt nur dem Ausgabepfad hängst du jetzt eben noch den Dateinamen dran. Ist doch kein Problem, oder? :)

2000... :schluck:

EDIT:
Okay, alles klar! :D
 
Ich habe jetzt grade das problem ich habe einen Ordner "Backup" dort luigt das unterverzeichniss "7zip" im ordner backup liegt die batch die das mailscript startet. Im Ordner 7zip die batch die die .jar startet wenn ich aber die batch aufrufe die die jar starten soll bekomm ich einen fehler. Warum?

Fehler:
Unable to access jarfile ZipNewFiles.jar

Ich weiss jetzt nicht wie ich das beheben kann -.-

Batch im Ordner
Code:
....
start D:\backup\7zip\zip.cmd >NUL
.....

Batch die die jar startet
Code:
....
java -jar ZipNewFiles.jar "C:\Dokumente und Einstellungen\sicherung\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\\" D:\backup\logs.zip 4
....

Schonwieder anwenderfehler?

P.S.
Gratz zum 2000er!
 
Zuletzt bearbeitet:
Hoppla, sry, überlesen. :freak:

Naja, es scheint so, als ob sich die Dateipfad-Angaben innerhalb der cmd nicht relativ zur CMD selbst sind, sondern wieder von wo aus die cmd aufgerufen wird.

In deinem Fall, also wenn du die cmd im Backup-Verzeichnis aufrufst:
Code:
java -jar "7zip\ZipNewFiles.jar" "C:\Dokumente und Einstellungen\sicherung\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" D:\backup\logs.zip 4

Ist aber etwas blöd, da der Befehl dann immer davon abhängig ist, von wo du die cmd aufrufst. Also vllt. gleich den absoluten Pfad der jar angeben:

Code:
java -jar "D:\backup\7zip\ZipNewFiles.jar" "C:\Dokumente und Einstellungen\sicherung\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" D:\backup\logs.zip 4
 
mit

Code:
java -jar "D:\backup\7zip\ZipNewFiles.jar" "C:\Dokumente und Einstellungen\sicherung\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" D:\backup\logs.zip 4


Bekomme ich folgenden fehler
Code:
java.io.IOException: CreateProcess: 7z a -tzip D:\backup\logs.zip "C:\Dokumente
und Einstellungen\sicherung\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windo
ws NT\NTBackup\data\backup05.log" error=2
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(Unknown Source)
        at java.lang.ProcessImpl.start(Unknown Source)
        at java.lang.ProcessBuilder.start(Unknown Source)
        at ZipNewFiles.ZipNewFiles.zipNewFiles(ZipNewFiles.java:45)
        at ZipNewFiles.NewMain.main(NewMain.java:30)
java.io.IOException: CreateProcess: 7z a -tzip D:\backup\logs.zip "C:\Dokumente
und Einstellungen\sicherung\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windo
ws NT\NTBackup\data\backup04.log" error=2
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(Unknown Source)
        at java.lang.ProcessImpl.start(Unknown Source)
        at java.lang.ProcessBuilder.start(Unknown Source)
        at ZipNewFiles.ZipNewFiles.zipNewFiles(ZipNewFiles.java:45)
        at ZipNewFiles.NewMain.main(NewMain.java:30)
java.io.IOException: CreateProcess: 7z a -tzip D:\backup\logs.zip "C:\Dokumente
und Einstellungen\sicherung\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windo
ws NT\NTBackup\data\backup00.log" error=2
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(Unknown Source)
        at java.lang.ProcessImpl.start(Unknown Source)
        at java.lang.ProcessBuilder.start(Unknown Source)
        at ZipNewFiles.ZipNewFiles.zipNewFiles(ZipNewFiles.java:45)
        at ZipNewFiles.NewMain.main(NewMain.java:30)
java.io.IOException: CreateProcess: 7z a -tzip D:\backup\logs.zip "C:\Dokumente
und Einstellungen\sicherung\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windo
ws NT\NTBackup\data\backup01.log" error=2
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(Unknown Source)
        at java.lang.ProcessImpl.start(Unknown Source)
        at java.lang.ProcessBuilder.start(Unknown Source)
        at ZipNewFiles.ZipNewFiles.zipNewFiles(ZipNewFiles.java:45)
        at ZipNewFiles.NewMain.main(NewMain.java:30)
By Kamikatze a.k.a. Hannes Rannes! ;-)

Ich denke mal das liegt daran dass ich den befehl dann ja nicht im 7zip ordner aufrufe sondern im ordner backup
 
Nein glaub ich nicht. Ich weiß aber jetzt auch nicht genau, was da schuld ist. Der Prozessaufruf von 7z.exe scheitert... probier es bitte mal mit einem kürzeren Pfad, bei mir funktioniert es nämlich.

C:\Programme>start C:\Programme\7-Zip\zip.cmd

C:\Programme>java -jar "C:\Programme\7-Zip\ZipNewFiles.jar" D:\ C:\logs.zip 3
By Kamikatze a.k.a. Hannes Rannes! ;-)

EDIT:
Nach Recherchen hab ich herausgefunden, dass das bedeutet, dass die angegebene Datei nicht gefunden werden konnte. Dann könnte doch schuld sein, dass der Aufruf im backup-Ordner erfolgt. Hast du den 7-Zip-Ordner zur Path-Variable hinzugefügt?
 
Zuletzt bearbeitet:
sorry das versteh ich nicht. Ich habe qusi hier nur D als klaufwerk welches relevant ist.

Unter D liegt ein odner backup hier gibt es die verzeichnisse 7zip und ein paar andere die hier wohl uninteressant sind.
Dann im Backup ordner direkt liegt die batch die die zip.cmd öffnet die wiederrum im 7zip ordner liegt. Wo (na klar) auch die 7zip files liegen sprich als 7z und co.

Wieso sollte ich dann in C:Programme etwas aufrufen?

Sorry bin halt blod :D

Hast du den 7-Zip-Ordner zur Path-Variable hinzugefügt?
hä?
 
Zuletzt bearbeitet:
Inhalt zip.cmd unter D:\backup\7zip\ (Hier liegen auch die *.jar und die 7z)
Code:
...
java -jar D:\backup\7zip\ZipNewFiles.jar "C:\Dokumente und Einstellungen\sicherung\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" D:\backup\logs.zip 4
...

Inhalt start.cmd unter D:\backup\ (wo die log hin soll und auch die anderen scripte liegen)
Code:
...
del logs.zip >NUL
start D:\backup\7zip\zip.cmd >NUL
pause
...
 
Kamikatze schrieb:
PS:
Wenn du willst, dass du das Programm aus einen beliebigen Ordner heraus starten kannst, musst du nur das 7-Zip-Programmverzeichnis zur Path-Systemvariable hinzufügen. Evtl. ist noch ein System-Neustart notwendig, bis das auch korrekt übernommen wurde. Dann kannst du das Programm auch so starten, wie du es vorhin versucht hast. :)

Rechtsklick auf den Arbeitsplatz|Eigenschaften|Erweitert|Umgebungsvariablen

  • Unten bei den Systemvariablen suchst du die "Path".
  • Bearbeiten
  • Am Schluss hängst du ";C:\Programme\7-Zip" an, natürlich den bei dir entsprechenden Programmpfad und ohne Anführungszeichen.

Du brauchst dann die jar auch nicht mehr im 7-Zip-Ordner haben, fallst du extra dafür eine Kopie des 7-Zip-Verzeichnisses angelegt hast. Es reicht das normale Installationsverzeichnis, die benötigten exe-Dateien werden danach automatisch gefunden.

Und wie gesagt, evtl. ist ein Systemneustart erforderlich, dass das ganze richtig funktioniert/übernommen wird.

Probier das erst einmal, bevor wir weiter pfuschen. ;)

PS: Doppelposts vermeiden. ;)
 
Zuletzt bearbeitet:
Ich hab mir den Thread zwar nicht ganz durchgelesen, aber was ich so gesehen habe, ist meiner Meinung völliger Overkill und neigt zur Unübersichtlichkeit. Einen Packer per Java-Programm anzustoßen, ein Durcheinander von Skript-/Programmiersprachen. Aber naja... :p

So, und damit nicht nur Gemecker von mir kommt:
Errorlevel geben das Ergebnis des Programmdurchlaufs an; also ob die Log-Datei fehlerfrei erstellt wurde, durch den Benutzer abgebrochen wurde oder nicht (fehlerfrei) erstellt werden konnte (bspw. durch Fehler beim Zugriff auf Dateien).
 
Zuletzt bearbeitet:
ok :) entschuldigt.

Ich bin mlt zu hause und habe hier die test umgabung nicht zur verfügung. Ich kann dann moreg n früh wieder los legen. Ich kann am ende einfach mal ein ergebniss präsentieren. Ist dann vll für aussenstehende einfacher :)

Am ende ist das alles garnicht so blöde :)

Vielen dank euch
 
GELÖST!

Also erstmal vielen vielen dank an dich Kamikatze! Und nochmal gratz zum 2000 :D

Lösung:
Alles in einem Ordner.

Wir befinden uns im Ordner Backup. Hier gibts folgende Datein:
backup_daily.cmd (Stamm Datei löst das backup aus und öffent alle anderen cmds)
startsendMail.cmd (wird geöffnet wenn der benutzer den fehlschlag der sicherung bekannt gibt. Dann wird die alte logs.zip gelöscht und mit hilfe von Kamikatze´s script eine neue gepackt)
ZipNewFiles.jar (javascript von Kamikatze)
7z.exe + Die dazugehörige *.dll (wird vom Java script benötigt zum packen)
sendMail.vbs (sendet die Mail incl. Anhang)

Jetzt nur noch das mit dem error level verstehen und einbauen aber das wird dann wenn ein neuer thread :)
 
Nur noch eine kleine Anmerkung:
Mit JavaScript hat das ganze gar nichts zu tun, das ist ein Java-Programm. ;)

Hat ganz gut getan, bin (nach ca. 3 Monaten Ferien) eh schon ein wenig aus der Übung. ;)
 
Zuletzt bearbeitet von einem Moderator: (Lexikon-Link korrigiert)
Ohh entschuldige :)

Also wenns intressiert, kann ja sein das hier noch ein paar aus intresse mitlesen ich bin Fertig! :)

Errorlevel zu bedienen ist sehr einfach hier mal ein bsp (Natürlich mus vorher die Variable %errorlevel% gefüllt werden das macht aber NTbackup in meinem falle, also wird vor dem teil einfach NTbackup per Kommandozeile gestartet)
Code:
IF ErrorLevel 4 goto err_lvl4
IF ErrorLevel 3 goto err_lvl3
IF ErrorLevel 2 goto err_lvl2
IF ErrorLevel 1 goto err_lvl1
IF ErrorLevel 0 goto success_lvl

:err_lvl4
blat -body "sicherung fehlerhaft" -s "sicherung fehlerhaft" -to alex@dick.at
goto :eof

:err_lvl3
blat -body "sicherung fehlerhaft (abgebrochen)" -s "sicherung fehlerhaft" -to alex@dick.at
goto :eof

:err_lvl2
blat -body "sicherung fehlerhaft (dateizugriffs konflikt)" -s "sicherung fehlerhaft" -to alex@dick.at
goto :eof

:err_lvl1
blat -body "sicherung fehlerhaft (keine dateien zum sichern gefunden)" -s "sicherung fehlerhaft" -to alex@dick.at
goto :eof

:success_lvl
blat -body "sicherung erfolgreich!" -s "sicherung erfolgreich" -to alex@dick.at
goto :eof

Ich danke allen die mir dabei geholfen haben :)
 
Zurück
Oben