web-dev-qa-db-ja.com

cmd.exeで「バッチジョブの終了」を抑制する方法

バッチファイルから開始されたプログラムでCTRL-Cを押すたびに表示される「バッチジョブを終了しますか?(Y/N)」招待を抑制するメカニズムを探しています。

バッチファイル:jsshell.bat:

@echo off
Java -jar build-scripts\contrib\rhino1.7R1.jar

そして、cmdシェルで次のようにして起動します:

> jsshell.bat

cTRL-Cで終了できるシェルが表示され、終了後に不快なメッセージが表示されます

57
cellcortex

バッチスクリプトを回避して問題を回避することを忘れないでください。

  • Doskeyマクロ は、上記のような1行のバッチスクリプトを置き換えることができます。 ( Autorun スクリプトでそれらをロードします。)
  • Cscript.exe はすべての最新のWindowsマシンで利用可能であり、コマンドラインからJavaScriptおよびVBScriptプログラムを実行できます。
  • お気に入りのスクリプト言語(Perl、Python、Rubyなど)のファイル拡張子をPATHEXT環境変数に追加し、スクリプトをパスに追加すると、バッチスクリプトなしで直接実行できます。
7
Dan Fabulich

これで site で、ようやく効果的な解決策が見つかりました。

script.cmd < nul

上記の行と同じフォルダーにscript2.cmdという2番目のスクリプトを作成するたびにこれを入力する必要がないようにします。名前を逆にすることもできます。私のために動作しますが、これまでのところXPのみでテストされています。

24
Gringo Suave

この動作はcmd.exeのソースコードに実装されており、cmd.exeを変更せずにオフにすることはできません。ただし、cmd.exeを変更してメッセージを表示しないを実行できます。

16
WireGuy

はい、cmd.exeをパッチするよりもエレガントな方法があります。コマンドの前にSTARTを置くだけです。たとえば、行は次のようになります。「START Java -jar build-scripts\contrib\rhino1.7R1.jar」

8
user169852

FWIW、コマンドの入力として 'N'をパイピングすると、いくつかのバッチファイルでうまくいきました(しかし、実際には新しいウィンドウが必要でした)。たぶんそれもあなたのために働くでしょう。

(echo. N)| cmd /c Java -jar build-scripts\contrib\rhino1.7R1.jar
7
Brad
@start cmd /c Java -jar build-scripts\contrib\rhino1.7R1.jar
@exit

これにより、ウィンドウが1つだけになります

3
SH4773R

以下の変更により、「バッチジョブを終了しますか?(Y/N)」および新しいコンソールウィンドウが抑制されます。

start cmd /c Java -jar build-scripts\contrib\rhino1.7R1.jar
3
Elmo

これを試して。新しいコンソールを開きますが、開いている間はもう一方をロックします。

@echo off
start /WAIT Java -jar build-scripts\contrib\rhino1.7R1.jar
1
nilskp