【AutoHotkey】バラバラのスクリプトを一つにまとめる。
いくつかのスクリプトでショートカットを実現したことでかなり作業環境を快適になりました。
しかし複数のスクリプトを同時に常駐させているので、タスクトレイアイコンが鬼のように並んで壮観な眺めになっています。
スクリプトは細かく分けた方が debug しやすいので意識的に分けていたのですが、これはあまり好ましくありませんね。
そこでバラバラのスクリプトを一つにまとめることはできないかと調べてみました。
どうやらコピーコマンドにBオプションを与えればファイルを結合できるようですね。
コマンドプロンプトから次のようにコマンドを実行します 。
cd %userprofile%\Documents\ahk copy /B /Y *.ahk ex\full.ahk
%userprofile%の部分はホームディレクトリ(マイdocumentやマイピクチャが入っているディレクトリ)を意味します。
まあスクリプトファイルはどこに置いてもかまわないのですが、私は個人用のフォルダの下にAutoHotkeyのスクリプトを入れるためのフォルダを作っています。
そのディレクトリに移動してからコピーしてますね 。
ワイルドカードを使って拡張子が ahk のファイル全てを取り出して結合した結果を出力します。
Y オプションは上書き確認を抑制します。
これを指定しないと2回目の実行で、既存のファイルがあるが上書きして良いかと確認されます。
YES と答える手間が一つ増えるので質問しないように指定するんですね。
もちろん操作ミスで大切なファイルを書き換えられる恐れもあるので必ず一度は実行結果を確認してからYオプションを与えてくださいね。
この例ですと、マイdocumentの下にある ahk ディレクトリに含まれる Auto HOT key のスクリプト全てを、さらに下のディレクトリexにfull.ahkというファイル名で結合されたスクリプトを作ります。
これからはこのファイルをひとつだけ実行すればショートカットキーすべてを 有効にできます。
これでタスクトレイの常駐プロセスアイコンがスッキリします。
注意点としては二つ。
ユーザがアプリの起動確認などの確認作業をしていることが前提の「待ち時間型」スクリプトは、結合することで予期しない動作を発生させる恐れがあります 。
まだアプリが起動していないのにウィンドウ探しても見つかりませんからね。
それとスクリプトの結合については、[個別ファイルを修正]して[結合]という手順を必ず守ってくださいね。
これから実行するのは結合スクリプトなので、個別ファイルを修正しても、こちらは実行されませんよね。
当たり前すぎる話ですが人間にはうっかりはあるものです。
結合スクリプトは編集しないことにも注意してくださいね。
結合スクリプトを編集すると、結合処理をした瞬間に修正した内容が上書きされてしまいます。
動いて喜んだのもつかの間、 儚くも消えてしまうととっても悲しいです。