115129
Dec 30, 2015, updated at 17:24:09 (UTC)
10358
10
0
Batch - Warten auf Fertigstellung einer Zeilenabarbeitung, dann Skript fortsetzen
Hallo zusammen,
ich benötige zu dem unteren Ausschnitt einer Batchdatei eure Hilfe.
Das gesamte Script dient als Backuplösung eines vordenfinierten Ordners, welcher mit Winrar archiviert und mit einem Passwort versehen wird.
Dieser Vorgang funktioniert auch einwandfrei, jedoch wird nicht auf die Fertigstellung des Archivs (Backup.rar) gewartet, sondern die nächste Zeile wird gestartet bzw. das Skript fortgeführt.
Gibt es ein Befehl, mit dem ich bestimmen kann, dass das Skript bei der Abarbeitung der Zeile...
Vielen Dank schonmal im Voraus
Gruß,
Blattlaus
ich benötige zu dem unteren Ausschnitt einer Batchdatei eure Hilfe.
Das gesamte Script dient als Backuplösung eines vordenfinierten Ordners, welcher mit Winrar archiviert und mit einem Passwort versehen wird.
Dieser Vorgang funktioniert auch einwandfrei, jedoch wird nicht auf die Fertigstellung des Archivs (Backup.rar) gewartet, sondern die nächste Zeile wird gestartet bzw. das Skript fortgeführt.
Gibt es ein Befehl, mit dem ich bestimmen kann, dass das Skript bei der Abarbeitung der Zeile...
"C:\Program Files\WinRAR\rar.exe" a -r -u -hpMeinPasswort -xBackup.rar "C:\_PRIVAT\Backup.rar" "C:\_PRIVAT\*.*" >NUL
die nächste Zeile erst starten darf, wenn das Archiv erfolgreich archiviert bzw. der Vorgang abgeschlossen wurde?::BACKUP ERSTELLEN BZW. AKTUALISIEREN, ARCHIVIEREN UND MIT PASSWORT VERSEHEN
echo VORGANG 04:
echo Backup wird erstellt/aktualisiert, archiviert und mit einem Passwort versehen.
echo ...in Bearbeitung...
ping 127.0.0.1 -n 3 >nul
"C:\Program Files\WinRAR\rar.exe" a -r -u -hpMeinPasswort -xBackup.rar "C:\_PRIVAT\Backup.rar" "C:\_PRIVAT\*.*" >NUL
echo ...Backup wurde erstellt/aktualisiert, naechster Vorgang wird gestartet.
echo.
Vielen Dank schonmal im Voraus
Gruß,
Blattlaus
Please also mark the comments that contributed to the solution of the article
Content-Key: 291946
Url: https://administrator.de/contentid/291946
Printed on: April 25, 2024 at 06:04 o'clock
10 Comments
Latest comment
Moin,
das wäre aber sehr komisch das rar hier asynchron arbeitet. Kann ich hier auch nicht nachvollziehen das das so wäre.
Du kannst aber mit
arbeiten. Das geht natürlich auch nur wenn der Prozess nicht asynchron arbeitet und direkt zurück auf die CMD wechselt, was rar aber wie gesagt in der Kommandozeilenversion nicht macht.
Gruß grexit
das wäre aber sehr komisch das rar hier asynchron arbeitet. Kann ich hier auch nicht nachvollziehen das das so wäre.
Du kannst aber mit
start "" /wait <deinecodezeile>
arbeiten. Das geht natürlich auch nur wenn der Prozess nicht asynchron arbeitet und direkt zurück auf die CMD wechselt, was rar aber wie gesagt in der Kommandozeilenversion nicht macht.
Gruß grexit
siehe Parameter zu start (http://ss64.com/nt/start.html), probier es mit /min - wenn das reicht.
Ansonsten kannst Du nicht ein neues Fenster verhindern, weil das immer durch START erzeugt wird (eigener Prozess).
vG
LS
Ansonsten kannst Du nicht ein neues Fenster verhindern, weil das immer durch START erzeugt wird (eigener Prozess).
vG
LS
Mysteriös ist eher das bei dir rar nicht wartet, ist hier jedenfalls nicht so. Das kehrt erst zur Shell zurück wenn der Vorgang beendet ist.
Lass mal die Umleitung des StdOut (>NUL) weg.
Woher nimmst du die Annahme das rar nicht wartet ?
Lass mal die Umleitung des StdOut (>NUL) weg.
Woher nimmst du die Annahme das rar nicht wartet ?
OK ist ein Workaround, ändert aber nichts daran das das dieses Verhalten absolut nicht normal ist. Welche WinRAR Version und OS verwendest du ?
Ich tippe eher auf irgendeinen anderen Fehler im Skript.
Ich tippe eher auf irgendeinen anderen Fehler im Skript.
Ich sehe den Fehler in diesen wiederholten Zeilen:
Wenn mit Variable dann so
p.s. Variablen sind nicht dazu da, das man Ihnen x mal den selben Wert zuweist, das reicht einmal.
%str%="C:\Program Files (x86)\Easy2Sync for Outlook\E2S4Outlook.exe"
call %str%
call %str%
Wenn mit Variable dann so
set "str=C:\Program Files (x86)\Easy2Sync for Outlook\E2S4Outlook.exe"
start "" /wait "%str%"
p.s. Variablen sind nicht dazu da, das man Ihnen x mal den selben Wert zuweist, das reicht einmal.