Abfrage in batch- Datei automatisch mit "y" beantworten
Hallo,
Ich möchte eine Datenbankmigration über mehrere Versionen automatisieren. Dazu haben wir immer batch-Scripte laufen. Da ich bei älteren Datenbanken nun über viele Versionen gehen muss, will ich die ganzen einzelen Schritte mit einem Script aufrufen lassen. Das beinhaltet aber an einer Stelle immer eine Abfrage, die ich mit "y" beantworten muss und dann mit ENTER bestätigt werden muss.
Die batch Datei, die aufgerufen wird , stellt folgende Frage
in dem Script, was ich zum Aufruf nutze habe ich das folgendermaßen gemacht:
Folgendes hab ich versucht:
Da bekomme ich dann aber folgende Meldung
Mit folgendem Befehl und einer texttadei, in der "y" und eine darauffolgende Leerzeile für das ENTER steht, klappt es, aber ich möchte ungern noch ne extra Textdatei auf dem Server ligen hab, die notwendig ist, weil die früher oder später eh irgendeine Blitzbirne löscht, weil er denkt, dass gehört da nicht hin.
Ich möchte eine Datenbankmigration über mehrere Versionen automatisieren. Dazu haben wir immer batch-Scripte laufen. Da ich bei älteren Datenbanken nun über viele Versionen gehen muss, will ich die ganzen einzelen Schritte mit einem Script aufrufen lassen. Das beinhaltet aber an einer Stelle immer eine Abfrage, die ich mit "y" beantworten muss und dann mit ENTER bestätigt werden muss.
Die batch Datei, die aufgerufen wird , stellt folgende Frage
Migrate MySQL on 127.0.0.1:3306 from 415 to 417? (y/n)
in dem Script, was ich zum Aufruf nutze habe ich das folgendermaßen gemacht:
call migrate_db.bat 127.0.0.1 3306 dbadmin password . 417
Folgendes hab ich versucht:
echo y | call migrate_db.bat 127.0.0.1 3306 dbadmin enterprise . 417
}=={y} was unexpected at this time
Mit folgendem Befehl und einer texttadei, in der "y" und eine darauffolgende Leerzeile für das ENTER steht, klappt es, aber ich möchte ungern noch ne extra Textdatei auf dem Server ligen hab, die notwendig ist, weil die früher oder später eh irgendeine Blitzbirne löscht, weil er denkt, dass gehört da nicht hin.
call migrate_db.bat 127.0.0.1 3306 dbadmin enterprise . 417 << bestaetigung.txt
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 389518
Url: https://administrator.de/forum/abfrage-in-batch-datei-automatisch-mit-y-beantworten-389518.html
Ausgedruckt am: 06.04.2025 um 15:04 Uhr
7 Kommentare
Neuester Kommentar
Zitat von @MarciMarc85:
Mit folgendem Befehl und einer texttadei, in der "y" und eine darauffolgende Leerzeile für das ENTER steht, klappt es, aber ich möchte ungern noch ne extra Textdatei auf dem Server ligen hab, die notwendig ist, weil die früher oder später eh irgendeine Blitzbirne löscht, weil er denkt, dass gehört da nicht hin.
Mit folgendem Befehl und einer texttadei, in der "y" und eine darauffolgende Leerzeile für das ENTER steht, klappt es, aber ich möchte ungern noch ne extra Textdatei auf dem Server ligen hab, die notwendig ist, weil die früher oder später eh irgendeine Blitzbirne löscht, weil er denkt, dass gehört da nicht hin.
Dann gib der Datei einen sprechenden Namen.
mfg
kowa
Via Powershell die cmd starten, und per com-objekt ein "y" ans fenster schicken, wobei, weiß nicht ob es auch ohne anmeldung dann funktioniert.
#wshell com-objekt erstellen
$wshell = New-Object -ComObject wscript.shell
#skript ausführen
Start-Process cmd.exe -ArgumentList "/c migrate_db.bat 127.0.0.1 3306 dbadmin password . 417"
$wshell.AppActivate('cmd')
Sleep 1
$wshell.SendKeys('y')