BLOGTIMES
2016/12/01

ウィンドウ最小化状態でバッチを実行する

  bat  windows 

bat ファイルを起動すると cmd.exe の黒い画面が出てしまうので、これを最小化状態で起動することにより目立たなくする方法を調べてみました。

以前、「batを実行したときのウィンドウが出ないようにする」というエントリを書きましたが、これは VBScript を使ったものでした。今回は VBScript のようなラッパーを使わずに、bat ファイルだけで何とかするので、バッチの構造もシンプルになります。

具体的には以下のような記述で実現できます。

1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off
cd /d %~dp0
:
if not "%X_MIMIMIZED%"=="1" (
set X_MIMIMIZED=1
start /min cmd /c,"%~0" %*
exit
)
:
echo "!"
pause
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

環境変数が呼出し先にも引き継がれることを利用して、バッチファイルを最小化状態で立ち上げ直すようになっています。
イメージ的には c や perl における fork() みたいな感じですかね。

参考


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/8980
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン