ergowerl
Goto Top

Start wait in Batch. 2. Batchdatei funktioniert nicht

Hallo zusammen,

ich versuche viele Sachen im Büro über Batchabläufe zu regeln, und meisten klappt es nach einigen Experimenten ganz gut.

Nun stehe ich aber auf dem Schlauch und benötige ich mal einen Schupps in die richtige Richtung.

Das Problem:
Ich habe zwei .bat Dateien( 1 + 2) , welche unabhängig von einander ohne Fehlermeldung funktionieren.

Die Datei 1 kopiert einen Dump einer Datenbank von einem Ort zum Anderen.
Die Datei 2 soll, nachdem sie per "start /wait" den Dump in eine lokale Datendank legen.

Wie oben beschrieben funktionieren die Befehle, wenn ich die Dateien einzeln starte.

Wird jedoch die Datei "2" aus der Batch "1" gestartet wird der Dump NICHT eingelesen...

Kann mir da einer von euch das Licht anmachen?

Vielen Dank für eure Unterstützung

Gruß

Georg

Hier mal die Inhalte:
Batch "1"

cd..
cd..
cd..
cd..
c:
Xcopy "\\192.168.10.10\Sicherungen in Werl\BackUp_TheraPi\georg_sql\georg.sql" "C:\BackupLokalhost" /d /s /y  
del "\\192.168.10.10\Sicherungen in Werl\BackUp_TheraPi\georg_sql\georg.sql"  
start /wait "" "C:\BackupLokalhost\transfer.cmd"  

Batch "2"

rem @echo off

rem Serverdaten Ziel

set mysqlPath=C:\BackupLokalhost
set Z_user=[*****************]
set Z_host=127.0.0.1
set Z_db=[*****************]
set Z_pw=-p[*****************]


rem -------------------------------------------------------------- Schreiben des Backups in die Ziel DB
echo Jetzt wird die SQL-Datenbank geschrieben
mysql %Z_pw% -u %Z_user% -h %Z_host% --max_allowed_packet=500M %Z_db% < georg.sql
pause

Content-ID: 7191888932

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

Printed on: October 6, 2024 at 16:10 o'clock

13034433319
Solution 13034433319 May 15, 2024 updated at 11:06:02 (UTC)
Goto Top
Moin.
< georg.sql
Hier stattdessen einen absoluten Pfad angeben wenn "start" mit /D kein Arbeitsverzeichnis angegeben wurde oder nicht per CD in dessen Verzeichnis gewechselt wurde
< "C:\BackupLokalhost\georg.sql"

start /wait "" "C:\BackupLokalhost\transfer.cmd"
Kann auch ersetzt werden durch
call "C:\BackupLokalhost\transfer.cmd"  
oder
start "" /wait cmd /c "C:\BackupLokalhost\transfer.cmd"  

pause
Das "pause" muss natürlich aus der zweiten Datei entfernt werden damit es in der ersten auch weitergehen soll kann ...

cd..
cd..
cd..
cd..
Autsch ... 🙈

Gruß
kpunkt
kpunkt May 15, 2024 at 11:19:30 (UTC)
Goto Top
Sollte aber eigentlich funktionieren.
start /wait wartet ja IMHO nur bis die Batch abgehandelt ist. Ich denke nicht, dass das drauf wartet, bis der Kopiervorgang fertig ist. Oder lieg ich da falsch?
Startet evtl. die transfer.cmd schon bevor die georg.sql im Verzeichns vorhanden ist?

Vielleicht da noch ein paar Sekündchen warten.
Das sollten 5 Sekunden sein:
ping -n 6 127.0.0.1 > nul
ThePinky777
ThePinky777 May 15, 2024 at 11:41:10 (UTC)
Goto Top
5 sekunden warten:

timeout 5
kpunkt
kpunkt May 15, 2024 at 11:46:35 (UTC)
Goto Top
Pfft...neumodernes Zeug....
Penny.Cilin
Penny.Cilin May 15, 2024 at 11:59:37 (UTC)
Goto Top
kpunkt 15.05.2024 um 13:46:35 Uhr

Pfft...neumodernes Zeug....
Du meinst neulandiges Zeug....

Gruss Penny.
Ergowerl
Ergowerl May 15, 2024 at 12:13:29 (UTC)
Goto Top
Wow, seid ihr schnell. Danke dafür.


Autsch ... 🙈

ja ja ... ist so eine alte Marotte von mir face-smile ich nehme es raus... versprochen.... ;)

Vielen Dank an "hempel". Ich habe in die Batch nochden Pfad angegeben (cd C:\BackupLokalhost). Nun funktioniert es.

... wenn man im Wald steht...

Grüße an alle aus Westfalen

Georg