URLからローカルディレクトリをエクスプローラーで開くためのnode.jsで書かれたHTTPサーバー。URLを情報として入力可能なクラウドサービスで使うことで、パスを指定してエクスプローラーを起動できるようになります。具体的には、ScrapBoxのようなサービスを想定しています。あるいは、テキストやソースコードに入れて、Windows TerminalのURL呼び出し機能などでも利用が可能です。
LocalDirServer.batを使って起動します。このバッチファイルでは、node.exeの実行パスがPATH環境変数に登録されていることを前提にしています。必要に応じて自分の環境に合わせて最後の行を書き換えてください。
LocalDirServer.bat [ポート番号]
起動オプションとして、待ち受けポート番号を指定できます。
指定しない、あるいは間違った指定(たとえば1024未満のWell-Knownポートを指定した場合)や正しい10進数のポート番号として認識できない場合には、デフォルトのポート番号6800を使います。
また、node.exeを使って直接起動することもできます。
直接起動する場合
node.exe LocalDirServer.js [ポート番号]
Windowsのスタートメニューなどに登録する場合には、batファイルへのリンクを作ったほうがいいでしょう。
ホスト名としてLocalhostを使って、ローカルパスを'/'区切りで指定したURLを開きます。
例 C:\temp\000-Testを開く
http://localhost:6800/c:/temp/000-Test
あるいは、Windows上のパスを%エンコーディングしたものをURLのパス部分に記述します。 例 C:\temp\000#Testを開く場合
http://localhost:6800/C%3a%5ctemp%5c000%23Test
URLをホストするサービスやブラウザにより、LocalDirServerからの応答が正しく渡らず、リクエストが繰り返し行われる場合があります。対策として4秒以内に同一のリクエストが繰り返された場合には、404を返すようにしてあります。しかし、最悪、繰り返しが起こる可能性もありえます。コードの検証は、GitHubとScrapBoxで、Chrome(123.0.6312.58)、Firefox(124.0.1)、Edge(122.0.2365.92)の組合せで行いましたが、それ以外の組合せでは、問題が発生するかもしれません。本ソフトウェアは、あくまでも自分で使うために作ったもので、広く一般での利用は想定していません。ご利用はご自分のリスクで行ってください。