私は、VC++でのプログラミングに携わっている機械エンジニアです。私たちの業界ではDOSプログラムを使用しており、8つのユーザー入力が必要です。毎回手作業で給餌する必要があります。テキストファイル/バッチファイルに入力を入れることで、このプロセスを自動化できますか?コマンドラインプログラムにデータを供給するこのプロセスを自動化したいと考えています。
あなたの経験に基づいていくつかの答えを得るのは完全に私の喜びです。
問題は誤解されていたと思います。
プログラムへの入力が正常に行われる場合:
> program
Enter input1: A
Enter input2: B
Enter input3: C
Enter input4: D
次に、操作を簡素化するために、次のようにテキストファイル(program.inp)を作成します。
A
B
C
D
そして、次のように実行します。
> program <program.inp
プログラムに、入力ファイルまたは入力ファイルでパラメーターを取得するようなメソッドがまだない場合、プログラムにキーを自動的に送信するというプログラミングの問題のように聞こえます。 VBscriptにはSendKeysがあります。 VC++には間違いなくそれまたは同等のものがあります。それ以外の場合は、autohotkeys/autoitです。しかし、vbscriptでsendkeysの例を調べると、例が表示されます。
copy con
コマンドを手動で試して、どのように機能するかを確認してください。 con c:\ blah\a.aをコピーします
次に、ファイルのテキストを入力し、Ctrl-Zを押して書き込みます。
そのため、コマンドラインに入力する必要がありました。
そして、それを自動的に行うこのvbscriptを試してください
コマンドライン用。これをwhatever.vbsと呼びます
dim a
a="copy con c:\blah\file.123"
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.SendKeys a
WshShell.SendKeys "dsdsfd{ENTER}sdfds{ENTER}sleep for 2000ms and will enter more{ENTER}"
Wscript.Sleep 2000
WshShell.SendKeys "ewrwrewrewwe{ENTER}"
WshShell.SendKeys "sending ctrl-z and enter {ENTER}"
Wscript.Sleep 2000
WshShell.SendKeys "^Z{ENTER}"
最も簡単な方法は、次のコードを使用することです。
@echoオフセット/ p input = echo%input%> example.txt
お役に立てれば!