
バッチファイルで他のバッチファイルを呼び出した後、元に戻ってこれない。
バッチファイルでほかのバッチファイルを呼び出した後の処理で困っています。
どうぞ教えてください。
「A.bat」というバッチファイルを実行すると、「1.bat」というバッチファイルを
実行させ、「1.bat」の実行結果によって、処理を分岐させたいと考えています。
「1.bat」をcallで呼び出し、実行はできたのですが、「1.bat」は最後にエンタキーを
押さないと終了しないようになっています。そのため、「エンターキーを押して終了させて
ください」というメッセージが出たままの画面で終わってしまい、「A.bat」に帰ってくることが
できません。
「1.bat」は中身を扱えないようにしてあるバッチファイルなので、こちらでエンターキーを
押さずに終了させるようにはできません。何かいい方法はないでしょうか?

No.4ベストアンサー
- 回答日時:
書いてるうちにNo.2さんと被る事になってしまいましたが。
>「1.bat」は中身を扱えないようにしてある
とは、1.bat を編集できないようになってる、という事でしょうか。
編集できるなら Pause なりが入ってるだけでしょうから、削ればいいだけだと思うのですが。
どういう仕組みかわかりませんが、編集できない、という前提で話を進めると...
つまり 1.bat 内でキー入力待ちで止まってしまうが、
これを人力に頼らず自動的に進めたい、という事ですよね。
プログラムが文字入力+<Enter>を要求する時、
予めテキストファイルを作っておき、
Prograname <TEXTFILE.TXT
のように文字 "<" を使ってリダイレクトすると
入力しなくてもテキストファイルから1行を代入して先へ進みます。
試しに、<CR>だけのテキストファイルを作っておき、
1.bat < TEXTFILE.TXT
として読ませてみたら、先に進みました。
A.bat 内で 1.bat を呼ぶ時に
1.bat < TEXTFILE.TXT
のように記述しておきます。
バッチ内容の複雑さによってはうまくいかないかも知れませんが、
試してみたらいかがでしょう。
丁寧な回答、ありがとうございます。
無事に解決することができました。
おっしゃるとおり、編集できないバッチファイルとなっており、大変困っていました。
解決することができたのですが、次の動作で新たに困ったことが出てきました。
もしわかれば教えてください。
「1.bat」を実行すると、「成功しました」「失敗しました」の2通りの文字列が画面に出た後、
エンターキーの入力を求めてきます。
「成功しました」と出れば「2.bat」を実行、「失敗しました」と出れば、もう一回「1.bat」を
実行するように処理を分岐したいのです。
画面に出た結果(「成功しました」または「失敗しました」)の文字列をコピーして、
先ほど教えたもらったやり方で、エンターキーを押して終了し、元のバッチファイルで
コピーした文字列によって処理を分岐することは可能でしょうか?
No.3
- 回答日時:
callで呼び出せば終了してからの制御は戻ります。
[a.batの中身]
call 1.bat
if %ERRORLEVEL%==1 echo エラー
ありがとうございます。
終了してからの制御は戻るのですが、自分でキーを押さずに、
自動的に戻したかったのです。
No.2、No.4の方の回答で解決することができました。
No.2
- 回答日時:
No.1
- 回答日時:
文面から、
現在の状況はだいたいわかりますが、 これをどのような動作をするように
したいのかが、分かりません。
A.bat の振る舞い、 1.bat の振る舞い を教えてください。
質問の仕方が悪くて、すみません。
先ほどした質問は、No.2、No.4の方の回答によって解決することができたのですが、
新たに困ったことが出てきたので、こちらも教えていただけるとありがたいです。
3つあるバッチファイルを1つ1つ手動で実行していたのですが、
面倒なので、自動的に次々にバッチファイルを実行していくバッチファイルを作成しています。
それが「A.bat」です。
以下の作業をすべて自動でやってくれたらいいなあと思って作ってます。
1.「1.bat」を実行する
2.実行結果が画面に表示された後、エンターキーを入力して「1.bat」は終了
3.「1.bat」の実行結果が「成功しました」と表示されていたら、「2.bat」を実行する
「失敗しました」と表示されていたら、再度1番の手順からやり直し
4.「3.bat」を実行する
先ほどは、2番の手順のエンターキーを入力するところで困っていたのですが、
今は、「成功しました」「失敗しました」の実行結果を「A.bat」で判断し、分岐処理
をさせるところで困っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
コマンドプロンプトで{ENTRE]キーの入力を求められる箇所で、自動で{ENTER}を入力されるようにしたい。
その他(プログラミング・Web制作)
-
batファイルで、call使っても戻ってこない
iOS
-
バッチでEnterを認識させるには
Windows Me・NT・2000
-
-
4
バッチファイルでキー操作を行う。
その他(プログラミング・Web制作)
-
5
子バッチ内のキー入力処理へ自動的に応答する方法は?
その他(プログラミング・Web制作)
-
6
batファイルの強制終了を回避したい
Android
-
7
バッチファイル内の各コマンドが順番に実行される条件
その他(OS)
-
8
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルで他のバッチフ...
-
ファイル並び順がバラバラで困...
-
System32内のファイルを書き換...
-
常に「すべての列のサイズを自...
-
Illustratorで異体字、字形パネ...
-
Win 10エクスプローラーについ...
-
エクセルを立ち上げるとBook2が...
-
【VBA】写真の縦横比を変えずに...
-
Googleドライブで削除できない...
-
google Drive 容量を減らせない...
-
右クリックメニューに「ファイ...
-
”彦”の異体字
-
Not kind:Folders
-
Ububtuでファイル共有できない...
-
貼り付けとショートカットの貼...
-
TextBoxの最下行を表示しておき...
-
初期化、再インストール後一部...
-
Visual C++ でクラスを削除する
-
条件付き書式が設定できない
-
ネットワークで他のPCのエクセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
シャットダウン時に自動ファイ...
-
バッチファイルで他のバッチフ...
-
NAS上のBATファイル実行
-
システム環境変数の削除の自動...
-
vbsでバッチファイルを作成・実行
-
.datファイル 作成
-
右クリックで新規作成するテキ...
-
batファイルからPCをシャットダ...
-
コマンドプロンプトでファイル...
-
バッチファイルでの情報収集
-
バッチ処理のコマンドについて
-
コマンドラインから実行する方法
-
別のPCをバッチファイルを使用...
-
ファイル名を全て同じ名前にす...
-
バッチファイルの作り方
-
ファイルの作成日時について
-
●スタンバイの際に、任意のアプ...
-
ImageMagickでのバッチファイル...
-
バッチファイルで実行できたり...
-
【VBA】写真の縦横比を変えずに...
おすすめ情報