2009-05-29 4 views
4

Ich habe ein Konsolenprogramm (ein DOS-Programm), das interaktive Eingabe erfordert. Nachdem er in der Befehlszeile eingeben, zum BeispielBatch-Skript zum Automatisieren eines DOS-Programms mit Optionen

commandline.exe /ShowReport 

Die DOS-Eingabeaufforderung wird der Benutzer zur Eingabe einiger Werte veranlassen, und dann auf die nächste interaktive Eingabe fortzufahren.

Zum Beispiel, wenn ich in dem obigen Befehl eingegeben hat, wird die Konsole mich prompt mit den folgenden Optionen:

press '1' to show Report A 
press '2' to Show Report B 

Und ich würde ‚1‘ drücken, wenn ich Bericht A.

zeigen will

Das Problem jetzt ist, ich möchte all diese Dinge automatisieren, indem Sie alle Eingabewerte in einer Skriptdatei vorbelegen. Vielleicht so etwas wie (ich weiß nicht)

commandline.exe /ShowReport <1<'abc' 

ich eine Batch-Skript für diese schreiben mag. Gibt es irgendwelche Werkzeuge, die mir erlauben, das zu tun?

Antwort

3

Sie können alle Eingaben in eine Datei schreiben (sagen ‚input.txt‘) und verwenden Umleitung Ihr Programm mit diesen Eingängen zu füttern:

commandline.exe /ShowReport < input.txt 

Die ‚<‘ erzählt die Eingabeaufforderung die verwenden Inhalt der Datei auf der rechten Seite als Standardeingabe.

0

nicht unbedingt eine Batch-Lösung, aber diese könnte den Trick tun: Expect

Siehe auch die Wikipedia entry.

Verwandte Themen