今回は、ブラウザで "file:///" のハイパーリンクをクリックすると エクスプローラが起動する方法を紹介するが、
Windowsレジストリを設定するので、細心の注意を払う必要がある。
レジストリは、プログラムが随時読み書きを行っている。
ちょっとした手違いが、「Windows再起動したら、OSが立ち上がらない!」という事もありえる
ので注意して欲しい。
重要なので2回言いました
紹介にあたり、この設定は
「Webブラウザからエクスプローラーを起動する」 Gomita氏執筆
https://zenn.dev/gomita/articles/3446c5764265c2
を参考(リスペクト)させて頂きました。ありがとうございます。
〇 やりたいこと
ブラウザで "file:///" のハイパーリンクをクリックすると エクスプローラを起動したい。
(エクスプローラ上でファイル一覧を確認したい)
〇 実装環境・条件について
[ファイルサーバー]
Rocky Linux 8.8
・ httpd-2.4.37-56
・ samba-4.17.5-3
WEBコンテンツ("file:///"のリンクを貼る)は、新規作成する
[クライアント]
Windwos10/11
ブラウザは、Firefox, chrome
ブラウザからファイルサーバー上のWEBコンテンツのハイパーリンクをクリックすると、
エクスプローラで対象のディレクトリが表示される
〇 実装手順
[ファイルサーバー]
動作確認の為のhtmlを作成
<html>
<p> ServerGroup ショートカットリンク
<ol>
<li>Teraterm</li>
<ul>
<li><a href="file-explorer:\\192.168.1.81\ServerkGrp\Software\teraterm\Main">本体</a> プログラム</li>
<li><a href="file-explorer:\\192.168.1.81\ServerkGrp\Software\teraterm\TTL">マクロ</a> 業務に必要なマクロ集</li>
<li><a href="file-explorer:\\192.168.1.81\ServerkGrp\Software\teraterm\INI">初期設定ファイル</a> 新人の方は、まずこれをひな型に</li>
<li><a href="file-explorer:\\192.168.1.81\ServerkGrp\Software\teraterm\TTL">ヘルプ</a> 使い方、マクロ修正時の参考に</li>
</ul>
<li>WinSCP</li>
<li>VirtualBox</li>
</ol>
</html>
通常は、href= の所に、"file/////192.168.1.81/ServerkGrp/Software/teraterm/Main" と入れるだろう。
もしくは、メールで「ここに保存したよ!」とアナウンスする場合は、
\\192.168.1.81\ServerkGrp\Software\teraterm\Main
今回の仕掛けでは、
先頭に、 file-explorer:と書くと、後述するレジストリ設定のトリガとなる。
例) file-explorer:\\192.168.1.81\ServerkGrp\Software\teraterm\Main"
[クライアント側]
ユーザー名は、testuser01
(1) 参考サイトより、"エクスプローラー起動用Windows Script (file-explorer.js)"を入手 orz
著者は、C:\Users\testuser01\browser2expolorer\file-explorer.js に配置
(2) レジストリファイルの作成
(1)で保存場所を変更したので、こちらも修正。ファイル名は任意(file-explorer_regist.reg)
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Classes\file-explorer]
@="URL:FileExplorer Protocol"
"URL Protocol"=""
[HKEY_CURRENT_USER\SOFTWARE\Classes\file-explorer\shell\open\command]
@="\"wscript.exe\" \"C:\\Users\\testuser01\\browser2expolorer\\file-explorer.js\" \"%1\""
このレジストリ設定が完了すると、
例えば、href="file-explorer:\\192.168.1.81\ServerkGrp\Software\teraterm\Main" では、
"file-explorer:" に反応して、
"wscript.exe C:\Users\\testuser01\browser2expolorer\file-explorer.js file-explorer:\\192.168.1.81\ServerkGrp\Software\teraterm\Main" が実行され、
file-explorer.js が、"explorer.exe \\192.168.1.81\ServerkGrp\Software\teraterm\Main" を実行。
結果、エクスプローラが指定のフォルダを開くという動作となる。
(3)レジストリファイル(file-explorer_regist.reg)を実行して登録する
(番外編) (3)で登録したレジストリを削除したい場合は、下記をファイルに保存して実行する
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\SOFTWARE\Classes\file-explorer]
(4) ブラウザにて動作確認