プロが教えるわが家の防犯対策術!

現在WindowsコマンドプロンプトやMS-DOS用のバッチ処理を実装しようとしており、
親バッチからcallコマンドで別の子バッチを実行しようとしています。
ところが、この子バッチで行う処理の中にキー入力を促す部分が存在し、そこでキー入力待ちとなり処理が止まってしまいます。
実際のキー入力を行なったことにして、キー入力待後の処理を最後まで実行させる方法はありませんでしょうか?
(システムの都合上、親バッチと子バッチに分離しなければなりません)

A 回答 (2件)

入力データなしということなら、yambejpさんのaaa.bat


を次のようにしてみたらどうでしょうか。
--------------------------------------------------------
@echo off
echo start
cmd /c bbb < nul
cmd /c ccc < nul
echo end
--------------------------------------------------------
または
--------------------------------------------------------
@echo off
echo start
cmd /c bbb < nul >null
cmd /c ccc < nul >null
echo end
--------------------------------------------------------
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
実際にやってみたところ、うまくいきました!
UNIX の /dev/null に相当するものが、Windowsのコマンドプロンプトにもあるんですね!

お礼日時:2008/05/22 02:17

こんな感じで呼び出してみては?



//aaa.bat
@echo off
echo start
cmd /c bbb
cmd /c ccc
echo end

//bbb.bat
@echo off
echo bbb
pause

//ccc.bat
@echo off
echo ccc
pause
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
でもこの場合は、bbb.bat, ccc.bat のどちらの処理も
pauseの部分で止まってそのまま残ってしまいそうです。

お礼日時:2008/05/22 02:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています