• ベストアンサー

DOS:バッチファイルでユーザーの入力を変数に入力

こんにちは。 基礎の基礎かもしれませんが、すみません教えてください。 Win2000でバッチファイルを使って処理しようと思うのですが・・・ バッチファイルを起動して、まず「XXを入力してください」とメッセージを出し、ユーザーがタイプして、その文字列を変数に入れて処理したいのですが。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんばんわぁ、Blackwinglsです。 基本的には、MovingWalkさんがおっしゃる通りです。 多少、強引技ですが以下のようにするってのはどうでしょうか? 名前の入力を求め、その名前を画面に表示します。 echo off cls echo 名前を入力してください。 echo 名前の入力終了は ^Z です。 echo 例:Blackwingls^Z copy con name.tmp cls echo あなたの名前は type name.tmp echo: echo ですね? del name.tmp ちなみに名前の入力の仕方は、名前を入力したあとに、Ctrl + Z で ^ を入力し、Enterキーで処理を進めます。 DOS は Windows3.1 以来なので、Windows2000 で正常に動くかどうかは解りません。 ではでは(^^)/~~~

Sawara13
質問者

お礼

試しました。動きました。感心しました。 Windows2000ですが。 今回はこういう方法はとらないと思いますが、きっと別の機会に使わせてもらいます。 ありがとうございます。

その他の回答 (1)

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.1

>バッチファイルを起動して、まず「XXを入力してください」とメッセージを出し、 ecno XXを... でできます。 >ユーザーがタイプして、 そのような機能はありません。キー入力を待つ機能(pause)くらいしかにのです。 文字列をバッチファイで処理する場合は、普通、コマンドラインの引数にします。 (「ABC.BAT 文字列」 のようにして起動します) >その文字列を変数に入れて処理したいのですが どんな処理かわかりませんが、複雑なことはできません。 特定の文字と一致するかどうかの検査が出来る程度です。 簡単なプログラムをCか何かで書かなければ出来ません。 どうもバッチファイルでの処理にはむかないようですね。 バッチファイルについてはこちらをご参考にどうぞ。 http://www25.cds.ne.jp/~kamiken/bach/bach.html

Sawara13
質問者

お礼

ありがとうございます。 やっぱ、駄目か・・・。 コマンドラインになれていないユーザーでも、メッセージを出してから引数を入力するようにしてもらえば使ってもらえるかなと思いましたが・・・。 オプションでヘルプを出すようにします・・・ 参考URLもありがとうございます。

関連するQ&A