を実行しません。次の "batch.BAT"ファイル(現在はエスケープ文字を含む)は実行されませんが、より多くの入力を期待しているかのように単にハングします。 DOSのバッチファイルコマンドは、次のコマンドラインが正常に実行さ
MagBoltz32 ^< input.txt ^> out.txtbatch.BATを実行すると、点滅するカーソルが表示されます。最終的にこのコマンドラインはFORループに入り、いくつかの入出力ファイルをループします。私はソースコードにアクセスできます。
を実行しません。次の "batch.BAT"ファイル(現在はエスケープ文字を含む)は実行されませんが、より多くの入力を期待しているかのように単にハングします。 DOSのバッチファイルコマンドは、次のコマンドラインが正常に実行さ
MagBoltz32 ^< input.txt ^> out.txtbatch.BATを実行すると、点滅するカーソルが表示されます。最終的にこのコマンドラインはFORループに入り、いくつかの入出力ファイルをループします。私はソースコードにアクセスできます。
これは「角かっこで入力」していません。このプログラムでは、パラメータは使用されません(少なくとも、表示されている構文には含まれていません)。それはSTDINからの入力を取得し、STDOUTに書き込みます。
<input.txt
は、input.txt
の内容をSTDINにリダイレクトするので、プログラムはキーボードごとに入力されたように使用できます。
>output.txt
は、STDOUTをファイルoutput.txt
にリダイレクトします。
エスケープ文字は、特別な文字を画面上に表示するのではなく、単に実行するために必要です。したがって、リダイレクト文字をエスケープすることは意味をなさないが、リダイレクトは無効にします。
一部のOSでは、パイプをエスケープする必要があります。<>と|構文が完全に有効になる可能性があります。これは特にバッチファイル(http://www.robvanderwoude.com/redirection.php)に当てはまります...すべてのファイルがバッチファイルを実行しているのと同じパスにあることを確認しましたか? bath.BATがc:\ barになっていても、C:\ fooからバッチを実行すると、input.txtはC:\ fooにあると予想されます。
私はチェックしました。リダイレクト演算子を間違ってエスケープしました – JWayneG
2番目のコマンドは、有効な構文のようには見えません。それがうまくいかないことは驚きではありません。それを逃れる必要はありません。 – ManoDestra
'MagBoltz32'は_STDIN_(コンソール入力)にデータがあると思われます。 '<'は、 'input.txt'の内容が_STDIN_にリダイレクトされることを伝えるリダイレクション演算子を構成します。 '^>'のようなリダイレクトをエスケープした場合、実行可能ファイルはコンソール入力を待っています( 'Ctrl + Z'(ファイルの終わりのコード)と_enter_)を入力したら、何か入力してください。 '>'はコンソール出力を 'out.txt'ファイルにリダイレクトするので、' ^> 'のようにエスケープするとコンソールウィンドウに出力されると思います... – aschipfl
2つのコマンド(実行可能ファイル)入力。最初の入力はテキストファイルを探し、そのファイルを大括弧で囲む必要があります。 2番目の入力は出力ファイルです。 – JWayneG