わすれなぐさ

自称情報ブログ・備忘録

間違いの指摘や役に立ちそうな情報など、些細な事でも気軽にコメントしてください。ブログ管理人へ直接連絡したいときは右下のフォームをご利用ください。

バッチファイルを実行したら勝手に最小化するようにします。正確には、ウィンドウが最小化した状態で自分自身を再実行します。

コマンド

バッチファイルの先頭に次のコマンドを記述します。
if not "%1" == "1" (
    start /min cmd /c call "%~f0" 1
    exit /b
)

解説

%1 は、バッチファイルに渡された1個目の引数を表します。ダブルクリック等でバッチファイルが実行されたときには引数はありませんから、if の中身が実行されます。

Start /min <プログラムまたはコマンド> で、プログラムやコマンドプロンプトのウィンドウを最小化して実行します。

Cmd /c <コマンド> で、コマンドを実行し、完了後に cmd を終了します。

Call <ファイル> <引数> で、引数を与えてバッチファイルを実行します。

%~f0 は、自分自身のフルパスのファイル名を表します。

結局、start /min cmd /c call "%~f0" 1 は、最小化したコマンドプロンプトで引数 1 を渡して自分自身を実行する、という意味になります。最初に実行されたバッチファイルは、このあと exit で終了します。

2回目に実行されたバッチファイルでは "%1" == "1" なので、if の中身が実行されません。

その他

Start /min call "%~f0" 1 でも動きますが、バッチファイルが完了してもコマンドプロンプトが終了しません。終了するには、バッチファイルの最後に exit を記述しておく必要があります。

Start /min cmd /k call "%~f0" 1 も上のコマンドと同じ動きをします。

Start /min cmd /k "call "%~f0" 1 & exit /b" は start /min cmd /c call "%~f0" 1 と同じ動きをします。

Q. /b 要る?
A. 多分要らない。

注意

もしこのコマンドを弄って色々検証したいときは、連続無限ループを防ぐためにバッチファイルの最初に pause か timeout を書いておいたほうがいいと思います。

参考


Surface Pro (最新)やSurface Pro 4のタッチパネルが反応するようになるドライバーの入手。

Surfaceシリーズのドライバーのダウンロードはここ:
Surface 用のドライバーとファームウェアをダウンロードする

現状、Surface Pro 4のドライバーはzip(中身はinfファイルなど)で入手できるが、Surface Pro (最新)のドライバーはmsiしかないので、ダウンロードしてから
Msiexec.exe /a <msiファイル> TargetDir="<ディレクトリ>"
で展開する。

タッチスクリーンが反応するようになるドライバーは、
\Drivers\System\PreciseTouch_RS3_\
にある。

モニター(27インチ)を新調したついでにモニターアームを買うことにしました。あまり何も考えずAmazonのベストセラーのBESTEK製モニターアームを購入しました。

使った感想としては……最高です! 今までモニターアームというのを使ったことがありませんでしたが、いざ使ってみる非常に快適で、ほんの数千円でこれだけ価値ある買い物も中々ないと思えるくらいです。

安物ではありますが、私が求めるモニターアームとしての役割はしっかりと果たしてくれます。買って一番よかったことは、机が広くなることです。モニターの下に空間ができるので色々と物を置けます。今までは画面に鑑賞しないように横に避けていたスピーカーが、正面に置けるようになりました。

二番目によかったことは、モニターの位置を動かせること。安物なので自由自在にとはいきませんが、前後に動かせるだけでも私にとっては十分です。というのも、今まで椅子にもたれ掛かって動画鑑賞をするとモニターとの距離が開きすぎて没入感が減ってしまっていたのですが、モニターアームのおかげで適切な距離まで近づけられるようになりました。

一点アドバイスとしては、モニターを動かすときは少し持ち上げるようにすると簡単に動きます!

感想は以上です。高くはない買い物だと思うので、検討中の方はぜひ購入をおすすめします。

このページのトップヘ