Zip形式で圧縮された秀丸エディタのマクロファイルを、マクロフォルダに展開するWSH(VBS)スクリプトです。 マクロファイルが指定された場合は、マクロフォルダに移動します。
OSの機能を使用してZipファイルの展開を行っている為、このスクリプトの実行には、 “圧縮フォルダ”をサポートしているOSが必要です。(Windows XP以降)
配布ファイルには、以下のファイルが格納されています。
HidemaruMacroInstaller.vbs :メインモジュール
HidemaruMacroInstallerSubModule.vbs :サブモジュール(ファイルの移動処理)
HidemaruMacroInstaller.html :説明ファイル
HidemaruMacroInstaller_UAC_Dialog_Vista.png :説明ファイル用画像
HidemaruMacroInstaller_UAC_Dialog_7.png :説明ファイル用画像
HidemaruMacroInstaller_UAC_Dialog_10.png :説明ファイル用画像
スクリプトと同じ個所に、以下のファイルを作るので、書き込み権限のあるフォルダに展開してください。
HidemaruMacroInstaller.dat :秀丸エディタの各種情報を保存
HidemaruMacroInstaller.mac :"HidemaruMacroInstaller.dat"作成用マクロ
HidemaruMacroInstaller.log :動作ログを記録したファイル
HidemaruMacroInstaller.usrcmd :アプリケーション実行用データファイル
スクリプトと同じ場所にファイルを作成するので、書き込み可能なフォルダに展開してください。
Windows Vista以降では、ユーザーフォルダにマクロフォルダが指定されるはずなので、そこでも大丈夫です。 “C:\Program Files”以下には、配置しないでください。
以下のファイルを削除するだけです。
“HidemaruMacroInstaller.vbs” に ZIP形式で圧縮されたマクロファイルをドロップするだけです。 ZIPファイルの中身が、自動的にマクロフォルダに展開されます。
マクロファイルそのものをドロップした場合は、マクロフォルダに移動します。
Windows Vista以降で、UAC(User Account Control)が有効になっている場合は、 確認のダイアログが表示されるので、許可するよう選択してください。 (プログラム名は、Microsoft(R) Windows Based Script Host になります。)
Windows Vistaの場合
Windows 7の場合
Windows 10の場合
“3.”のみ、“HidemaruMacroInstallerSubModule.vbs” が実行しています。 その他は、“HidemaruMacroInstaller.vbs” が実行しています。
ZIPファイルの例
test.zip
├ a.mac
├ b.mac
└ 説明書が入っているフォルダ
├ A.css
└ b.html
“test.zip”を“HidemaruMacroInstaller.vbs” にドロップすると、圧縮ファイル内のファイルをすべて、 マクロフォルダに上書きします。 (同名フォルダ、ファイルがあっても、警告なしで上書き。)
マクロフォルダ
├ a.mac
├ b.mac
└ 説明書が入っているフォルダ
├ A.css
└ b.html
となります。
“HidemaruMacroInstallerSubModule.vbs”を修正
“HidemaruMacroInstaller.vbs”を修正
64bit OSの場合、インストール場所の検索にレジストリのリダイレクト部分も検索するようにした。 (64bit OSに、32bitアプリケーションをインストールした場合への対応)
ちなみに、起動中の秀丸エディタを見つけた場合、レジストの検索結果より、プロセス実行中のパスを優先します。
“HidemaruMacroInstallerSubModule.vbs”を修正
ラベル検索時に空行でエラーになっていたので修正
“HidemaruMacroInstaller.vbs”を修正
インストール場所の検索に失敗していたのを修正。
“HidemaruMacroInstaller.vbs”を修正
“HidemaruMacroInstaller.vbs” と “HidemaruMacroInstallerSubModule.vbs”を修正
“HidemaruMacroInstallerSubModule.vbs”の起動確認をロックファイルを使って行うように修正。
特に難しい事はありません。配布したいファイル、フォルダをZIP形式で圧縮するだけです。
注意点としては、同じファイルが存在しても、警告なしで上書きするという動作です。 設定ファイルなどを含めると、上書きしてしまい、設定が初期化される場合があります。
圧縮ファイル展開時に、“HidemaruMacroInstaller.lst”を見つけると、 その記述に従い処理を行います。(記述していない内容は実行しません。)
“HidemaruMacroInstaller.lst” は トップレベルにある必要があります。 サブフォルダ内に格納されている場合は、認識しません。
“HidemaruMacroInstaller.lst” は Shift_JISまたはUTF-16LEで作成してください。
認識する例
test.zip
├ HidemaruMacroInstaller.lst
├ a.mac
├ b.mac
└ 説明書が入っているフォルダ
├ A.css
└ b.html
認識しない例
test.zip
├ a.mac
├ b.mac
└ 説明書が入っているフォルダ
├ HidemaruMacroInstaller.lst
├ A.css
└ b.html
基本的に、実行出来るのは「ファイル/フォルダの移動」だけです。 フォルダの作成、ファイルの削除、ファイル名変更は出来ません。 メッセージ表示や、条件分岐(条件は固定)、アプリケーションの実行も可能です。 ファイル/フォルダ操作が必要な場合は、別途外部アプリケーションなどを起動して行ってください。
HidemaruMacroInstaller.lst を見つけた場合、ファイルの内容をすべて読み込み、削除します。 その為、移動対象にはなりません。
基本は、ファイル/フォルダの移動で、対象と移動先をタブコードで区切って指定します。
移動するファイル/フォルダ名 タブコード(0x09) 移動先フォルダ名
ファイル/フォルダ名は、Zipファイルに格納されたファイル/フォルダ名を指定します。
ワイルドカードを使う事も出来ます。以下の内容だと、“HidemaruMacroInstaller.lst”を含めない場合と同じ動作になります。 (圧縮ファイル内のすべてのファイル/フォルダを、マクロフォルダに移動)
ワイルドカードを指定した場合、上書きの確認ダイアログが表示されます。 (“*.*” を指定した場合は、例外的に確認ダイアログは表示されません。)
*.* %macrodir%
行頭に“//”がある場合はコメント行と見なします。
移動先に、%hidemarudir%、%macrodir%、%settingdir%、%zipdir% を含めると、適切なパスに変換されます。 (変換結果の末尾に、“\”はつきません。)
秀丸エディタインストールフォルダ
デフォルトでは、“C:\Program Files\Hidemaru”のように、空白を含むため、 <EXEC>系コマンドで引数として使う場合には、「“」ダブルクォートで囲む必要があり生ます。 実行するアプリケーションにもよりますが、「”」ダブルクォートで囲まないと、正しいパラメータとして 渡せない場合があります。
例)<EXEC> notepad.exe "%hidemarudir%\test.txt"
通常の“移動先”として使う場合には、「"」ダブルクォートは必要ありません。
「ファイル名」部分には、以下の「コマンド」が指定可能です。 「コマンド」を指定した場合は、「移動先」の意味が変わります。 「コマンド」は、大文字小文字を無視します。
条件分岐におけるラベルの検索は、後方検索のみです。条件分岐より前のラベルへは移動できません。
“x.x” には、以下の “Version” を指定可能です。小数部分を省力する場合は"*"を指定してください。
<IF_OS_5.*> → Windows Server 2003、XP、2000のどれかの場合、指定したラベルに移動
<IF_OS_6.0> → Windows Vistaの場合、指定したラベルに移動
Windows | Version |
---|---|
Windows 10 | 10.0 |
Windows 8.1 | 6.3 |
Windows Server 2012 R2 | 6.3 |
Windows 8 | 6.2 |
Windows Server 2012 | 6.2 |
Windows 7 | 6.1 |
Windows Server 2008 R2 | 6.1 |
Windows Server 2008 | 6.0 |
Windows Vista | 6.0 |
Windows Server 2003 R2 | 5.2 |
Windows Server 2003 | 5.2 |
Windows XP 64-Bit Edition | 5.2 |
Windows XP | 5.1 |
Windows 2000 | 5.0 |
移動先:実行するコマンド文字列 「移動先」で指定された文字列を、コマンドラインとして、そのまま実行します。
UACが有効の場合は、管理者権限で実行されます。 関連づけ起動も可能で、URLを指定すれば、Webブラウザが開きます。
例)<EXEC> notepad.exe "%hidemarudir%\test.txt"
メモ帳を使って、秀丸エディタのフォルダにあるtest.txt を開く
例)<EXEC> http://hide.maruo.co.jp/
"秀まるおのホームページ" を開く
"_W" がつく場合は、起動したアプリケーションが終了するまで待機します。
"_USER" がつく場合は、実行するのは、“HidemaruMacroInstaller.vbs” を起動したユーザーになります。
"_USER" がついていなくて、UACが有効な場合は、管理者として実行されます。
Zipファイルの内容
hmonig.074b1.zip
├ x64
│ └ hmonig.dll
├ XP-32
│ └ hmonig.dll
├ XP-64
│ └ hmonig.dll
├ COPYING_Onigmo_Oniguruma
├ HidemaruMacroInstaller.lst
├ hmonig.dll
└ hmonig.html
HidemaruMacroInstaller.lst の内容
秀丸エディタの実行環境を判定し、対応したDLLをコピーしている。
<MSG> 秀丸フォルダ「%hidemarudir%」に、"hmonig.dll"を移動します。\nhmonig.dllを使用している場合は、常駐秀丸エディタを含む全ての秀丸エディタを終了させてください。
// 共通処理
hmonig.html %hidemarudir%
COPYING_Onigmo_Oniguruma %hidemarudir%
// 秀丸エディタの実行環境の判定
<IF_HIDEMARU_64> x64
// WINDOWSの判定(32)
<IF_OS_5.*> XP
// Vista以降用
hmonig.dll %hidemarudir%
<MSG> "hmonig.dll" (Vista以降用)のインストール終了。
<EXIT>
// XP用
<LABEL> XP
XP-32\hmonig.dll %hidemarudir%
<MSG> "hmonig.dll" (XP用)のインストール終了。
<EXIT>
// 64bit用
<LABEL> x64
// WINDOWSの判定(64)
<IF_OS_5.*> XPx64
x64\hmonig.dll %hidemarudir%
<MSG> "hmonig.dll" (Vista以降用64bit)のインストール終了。
<EXIT>
// XP(64)用
<LABEL> XPx64
XP-64\hmonig.dll %hidemarudir%
<MSG> "hmonig.dll" (XP用64bit)のインストール終了。
<EXIT>