2010-01-15 11 views
5

ich eine .bat-Datei zu schreiben, ich versuche, einige Shell-Befehle zu automatisieren. Die meisten Befehle sind einfach und ich kann sie direkt in die Batch-Datei einfügen, aber es gibt einen Befehl, der anstelle der Eingabe von Befehlszeilenparametern erwartet, dass Sie die gewünschten Optionen mit "Standardeingabe" eingeben. Ich bin mir nicht sicher, was das bedeutet. Kann mir jemand sagen, wie ich das mache? Der Text, den ich eingeben möchte, ist der Inhalt einer der Dateien im Verzeichnis: "options.txt", die ich mit einer Variablen innerhalb der Batch-Datei "$ (zusätzliche Optionen)" verketten möchte.senden Text Standardeingabe eines Windows-Konsole app

Sinn?

Antwort

7

Der üblicher Weg, dies in .bat-Dateien zu tun ist, Echo zu verwenden, um eine kleine Textdatei zu schreiben, dann in dem Befehlsstandard die Textdatei umleiten.

@echo foo > bar.txt 
@echo if you need multiple lines >> bar.txt 

the_cmd < bar.txt 

In Ihrem speziellen Beispiel würde es so etwas wie

copy myfile.txt bar.txt 
@echo %variable% >> bar.txt 

Die Tatsache, dass Sie erwähnen $ (variable) sind mir legt nahe, dass dies ein Make-Datei ist eher als eine Batch-Datei. Für ein Makefile gibt es einen besseren Weg.

Verwandte Themen