2011-01-14 18:23:22 +0000 2011-01-14 18:23:22 +0000
59
59

実行時にコマンドプロンプトが表示されないWindowsのバッチファイルを作成するにはどうすればいいですか?

私はRedcarという名前のruby gemをインストールしましたが、これはコマンドラインから起動されます。実行すると終了するまでシェルを盗むので、コマンドライン作業を続けるためには新しいシェルウィンドウを作成しなければなりません。

私はRedcar.batファイルを見つけました。これはRedcarをショートカットとして起動するためのものだと思いますが、BATファイルを起動するたびに余分なコマンドプロンプトウィンドウが開いてしまうのが嫌なのです。

回答 (11)

38
38
38
2011-01-21 18:41:45 +0000

できません – 内蔵のコマンドプロンプトを使ってバッチファイルを実行すると、バッチファイルが終了するまでウィンドウが開いたままになります。可能であれば、バッチファイルを修正して、startコマンドでプログラムを実行するようにしてください。デフォルトでは、start はプログラムの終了を待たずにすぐに戻りますので、バッチファイルは実行を続け、おそらくすぐに終了します。これに、バッチファイルを最小化して実行するようにショートカットを変更すると、画面上にウィンドウが表示されずにタスクバーが点滅するだけになってしまいます。この場合に必要なのは、コンソールベースのインタープリタではなく、Windowsベースのインタープリタを実行することです。Perlの場合は、startの代わりにstartを実行します。Pythonの場合は、wperl.exeの代わりにperl.exeを実行します。私がダウンロードした古いwin32のRubyディストリビューションにはpythonw.exeがありますが、これも同じことができるはずです。

最後の可能性としては、サードパーティのツールを使って、コマンドプロンプトを隠しウィンドウで実行することです。そのようなものは聞いたことがありますが、使ったことがないので、特に指し示すようなものは知りません。

22
22
22
2014-01-15 06:25:25 +0000

私はこれがDOSウィンドウを開くことなくバッチファイルを実行するための最も簡単で最短のソリューションだと思う、それはあなたが定期的に実行するコマンドのセットをスケジュールしたいときに非常に気が散ることができますので、DOSウィンドウがポップアップし続けて、ここではあなたの解決策です。バッチファイルを呼び出すためにVBスクリプトを使用してください…

Set WshShell = CreateObject("WScript.Shell" ) 
WshShell.Run chr(34) & "C:\Batch Files\ mycommands.bat" & Chr(34), 0 
Set WshShell = Nothing

上記の行をエディタにコピーし、.VBSの拡張子を持つファイルを保存します。それに応じて、.batファイル名とパスを編集します。その後、ちょうど.vbsファイルを実行すると、魔法が起こる!

8
8
8
2013-01-02 05:37:05 +0000

コマンドプロンプト内からSTART /MIN CMD.EXE /C mybatchfile.batで別のバッチファイルを実行することができます。

外部からはcmdコンソールウィンドウが表示されますが、それを回避するために、ショートカットファイルを**プロパティ最小化を開始するように変更して作成することができます。

5
5
5
2016-09-11 08:06:00 +0000

これを行うには、 Bat To Exe Converter というプログラムを使用して、バッチファイルを実行可能ファイルに変換してください。これにより、実行時にはウィンドウなしで実行されます。

4
4
4
2012-12-18 07:07:00 +0000

Dennis Williamsonさんの回答の続きですが、バッチファイルを編集して、実行しているコマンドにSTART /Bを追加(前置)することができます。

例えば、私はパテを実行するバッチファイルを持っていて、同じ問題(余分なCMD)を抱えていたので、このように書きました:

@ECHO OFF START /B putty.exe -load _name\_of\_my\_config\_file_

それは完璧に動作しました。

4
4
4
2011-01-14 19:32:24 +0000

試してみてください:

START /B batchfile

バーロップによる追記

start /?

3
3
3
2015-04-25 09:00:42 +0000

RunHiddenConsole ](https://github.com/WPN-XM/WPN-XM/raw/master/bin/hideconsole/RunHiddenConsole.exe)

hideExec.bat

@echo off
RunHiddenConsole batch.bat
``` を使用することができます。
3
3
3
2011-01-21 18:20:43 +0000

問題についてはよくわかりませんが、私のバッチファイルのいくつかでは、メインのバッチファイルを起動することだけが目的の「ダミー」を使用しています。

cmd /c go2.bat %1 %2 %3
exit

exitは、そうでなければ開いたままのコマンドプロンプトウィンドウを閉じます。

0
0
0
2013-03-04 00:36:09 +0000

パスの前に/bのスイッチを入れるだけ。これでは2つ目のコマンドプロンプトが開きません。

0
0
0
2014-10-18 16:43:48 +0000

Indagoさんの回答は、今のところ私にとって最良の解決策です。VBSファイルを使用することで、スクリプトを通してバッチの機能を実行することができ、CMDウィンドウが最初の場所で発生するのを防ぐことができます。あなたのバッチが管理者権限を必要とする場合は、VBSを呼び出し、管理者としてそのバッチを実行する既存のバッチを作成または使用します。あなたがしようとしているものは、実際にあなたがそれをしたい方法で実行されているかどうかを識別することは困難であることができます。

0
0
0
2016-05-20 07:11:31 +0000

過去に cmdow を使ったことがありますが、私が欲しいものにはうまくいっているようです。

CMDOW [window] /HID あなたはおそらく次のオプションのいずれかを使用したいと思うでしょう:/HID

CMDOW [window] /END 指定したウィンドウを非表示にする

/END

CMDOW [window] /CLS 指定したウィンドウを閉じる

/CLS &007 丁重にウィンドウを閉じるようにお願いしました(ウィンドウによってはダイアログボックスが開く場合があります)

これが役立つことを願っています。