最近少し仕事が忙しく, なかなか本来の仕事用 PC の前に座れません. 下手すると 2〜3 週間電源が入りません. それだけ長いことほったらかしになると困るのが Windows update やウィルスの定義ファイルです. 以前書いたように仕事用 PC は検疫システムが入っていて, 最新じゃないと更新用サイト先以外のサーバには繋がらないのです. 下手すると二時間くらいダウンロードと再起動を繰り返し, 朝出社しても昼前にやっとメールが読めるようになります.
留守の間も定期的に PC の電源を入れたくなるのは人情でしょう. 仕事場に居る誰かにお願いして電源を入れてもらっています. すると
というわけでこんなツールを作りました. 起動すると 20000 秒 (=5 時間半強) 後にシャットダウンするというものです. 「中止」ボタンを押すと止まりますから, 出社した際はロック画面をはずして「中止」すればいいわけです. 他にもつぶしが利くようシャットダウンまでの秒数は引数で設定できるようにしていますが, あまり非常識な設定できないようにしています.
さてこういう環境を整えて時折外部から起動をお願いすると, 今度はリモートデスクトップで入ってファイル類を取り出したくなるときがあります. リモートデスクトップで入るためには IP アドレスが必要ですが, DHCP で割り振られるため幾つが割り当てられているか分かりません. 画面はロックかけてますので, 仕事場に居る誰かにお願いして聞きだすこともできません. どうしようか考えて思いついたのが壁紙です. 壁紙はロック画面になっても変わりません. すなわち
このためまず 6: bmp ファイルに文字を貼り付けるツールを作りました. これを使って
for /F "delims=: tokens=1,2 " %%i in (' ipconfig ^|find /i "ip address" ') do @set ip=%%j X:\path\bmpaddchar.exe 10 10 %ip% X:\path\wallbase.bmp |
一見すごく汎用的なプログラムそうですが, クラシックスタイルのスタンダード配色に合わせて作ってますので, それ以外はほとんど使えないと思います. 文字も数字とピリオドくらいしか対応してませんし… 「使えん」と思った場合は, まあ適当なツールを使ってください. 「使えない」と言えば IP アドレスを抽出する一行目も, アダプタが複数あれば最後に表示されたものを採用します. 特定のアダプタに割り振られた IP アドレスが知りたいのであれば, これまた適当なツールを探してください.
最後に 7: 壁紙を貼り付けるツールも作りました. 上記フレーズだと, その後に
X:\path\wallpaper.exe 10 10 X:\path\wallbase_C.bmp |