Was ich versuche zu erreichen, ist das Dumping jeder der Datenbanken, die ich habe, in einzelne .SQL-Dateien. Immer, wenn ich meinen Code ausführe, erhalte ich einen Fehler in Bezug auf die Befehle "while" und "do", je nachdem, welchen ich zuerst gesetzt habe. Ich habe seit Beispielen, wo die "Weile" zuerst ist und wo das "ist" zuerst ist. Ich habe beides versucht und beide führen dazu, dass 'nicht als interner oder externer Befehl erkannt wird.Kann nicht verwendet werden, während Befehl in der Windows-Eingabeaufforderung
ich folgend in meiner cmd Linie
"C:\Program Files\MySQL\MySQL Server 5.7\bin\"mysql -u[user] -p[password] -e "show databases" | while read dbname do "C:\Program Files\MySQL\MySQL Server 5.7\bin\"mysqldump -u[user] -p[password] --complete-insert "$dbname" > "D:\Backup\$dbname"_6am_mon.sql; done
jedoch mit, halte ich die folgende Fehlermeldung erhalten: ‚while‘ als internen oder externen Befehl nicht erkannt wird, ein geschriebenes Programm oder Batch-Datei.
Warum erhalte ich einen Fehler bei der Verwendung der Befehle while und do? Wie behebe ich diesen Fehler?
Dank
Das Rohr '|' und der Ausgabeumleitung '>' zuerst und kann nicht angezeigt durch cmd.exe interpretiert als Port des Skripts. Versuchen Sie, ihnen mit einem Caret '^ |' und '^>' zu entkommen. – LotPings
Sie scheinen auch einige seltsam platzierte doppelte Anführungszeichen zu haben. – Compo
@LotPings Das löste den Fehler, den ich bekam. Wenn Sie eine Antwort erstellen, markiere ich sie korrekt. Ich habe eine Nebenfrage als Ergebnis der Lösung dieser Frage. Benutze ich die Variablen richtig? Meine Datei kommt als $ dbname_6am_mon.sql anstelle des Namens der eigentlichen Datenbank heraus. –