Windowsのバッチプログラム(.bat)を実行する際、ウィンドウを表示しない方法をお教えください。

常駐型のバッチを誤って停止してしまわないことを目的としています。(停止は別のバッチを使用して行います)

OSはWindows XP Pro SP2です。

バッチファイルをエクスプローラ上でダブルクリックして、ウィンドウが表示されないようになればよいです。
実行時に最小化される方法があればその情報もほしいです。(ただし、ショートカットを作成し、そこで起動時のウィンドウを最小化する設定は存じております。http://q.hatena.ne.jp/1105770702 こちらのご質問も参考にさせていただきました。)

OS標準の機能で実現することが望ましいですが、フリーソフトなどで実現する方法もあればその情報もほしいです。

ソースがあれば、出来ないという情報でもかまいません。

回答の条件
  • 1人2回まで
  • 登録:2006/05/19 11:12:57
  • 終了:2006/05/22 18:22:16

ベストアンサー

id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912006/05/19 11:36:55

ポイント30pt

VBS を使用する方法ですが、

test.vbs というファイルを作成し下記の1行を書きます。

CreateObject("WScript.Shell").Run "C:\test.bat",0

test.bat の部分を使用するバッチに変更。

test.vbs をダブルクリックで、何もウィンドウが出ないで処理がされると思います。

id:hsksyusk

ありがとうございます。この方法でも実現することが確認できました。

シンプルでよい方法だと思います。

2006/05/19 13:40:19

その他の回答(3件)

id:pxb12663 No.1

pxb12663回答回数395ベストアンサー獲得回数142006/05/19 11:24:11

ポイント30pt

http://alectrope.ddo.jp/mt/archives/2004/09/20/cmdow

こちらはどうでしょうか?

id:hsksyusk

このソフトはすばらしい!

cmdow /t

でウィンドウをリストアップして、目的のウィンドウのHandleを確認、その後ハンドルを指定してさまざまな操作が出来ます。

目的のことは、以下のコマンドで出来ました。

cmdow (Handle) /dis

これでツールバーからも消えます。

ただ、Handleはバッチ起動ごとに変わってしまうので、他の指定方法がないか、もう少しいじってみます。

>>追記

cmdow /run /hid test.bat

で、ウィンドウを隠した状態で実行できました。

これをバッチに記述してやれば、目的が果たせそうです。

<<追記終わり

僕の方でも継続して調査しているので、そこで見つけたものも書いておきます。

フリーソフト。僕の環境ではうまく動きませんでした。

http://www.vector.co.jp/soft/win95/util/se105488.html

Startコマンドを使ったらどうかという話。

http://forum.nifty.com/fpcu/top/doslog01/0821.htm

2006/05/19 13:52:21
id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912006/05/19 11:36:55ここでベストアンサー

ポイント30pt

VBS を使用する方法ですが、

test.vbs というファイルを作成し下記の1行を書きます。

CreateObject("WScript.Shell").Run "C:\test.bat",0

test.bat の部分を使用するバッチに変更。

test.vbs をダブルクリックで、何もウィンドウが出ないで処理がされると思います。

id:hsksyusk

ありがとうございます。この方法でも実現することが確認できました。

シンプルでよい方法だと思います。

2006/05/19 13:40:19
id:owl No.3

owl回答回数165ベストアンサー獲得回数152006/05/19 12:06:42

ポイント20pt

http://www.jwcad.net/log/consult/consult1-0407-09/thread21221.ht...

このあたりのテクニックは応用できないでしょうか。

こちらはウィンドウを「物理スクリーンの外に追いやる」だけのようではありますが。

id:hsksyusk

ありがとうございます。こちらの方法でも出来ました。結果を少し解説します。

[手順]

1.「C:\WINDOWS\SYSTEM32\CMD.EXE」を実行バッチファイルのあるフォルダにコピー

2.コピーしたCMD.EXEを起動し、プロパティの「ウィンドウの位置」の「システム設定を使う」のチェックを外し、「上から」を最大値(764など)にして「OK」

3.「プロパティの適用」ダイアログが表示されるので、「同じタイトルのウィンドウに適用する」を選択して「OK」

これで、実行バッチファイルのあるフォルダから起動するバッチは、コピーしたcmd.exeを使用することになり、ウィンドウの位置の設定が適用されます。

また、通常起動するDOS窓は、「C:\WINDOWS\SYSTEM32\CMD.EXE」が使用されるため、上記設定の影響を受けることがありません。

ウィンドウは画面の下部から少し頭を出す格好となり、画面下部にタスクバーがある場合は、それに隠れます。タスクバーからは消えません。

明日の朝まで開けておこうと思いますので、他に方法がありましたらご教示ください。

2006/05/19 18:44:02
id:Kityo No.4

キチョー id:Kityo回答回数159ベストアンサー獲得回数122006/05/19 22:39:44

ポイント10pt

実行時に最小化は、start /MIN hoge.batで良いかと思います。

id:hsksyusk

ありがとうございます。1番のコメントに記したURLと同じ方法ですね。

2006/05/20 01:09:41

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません