ブラウザからエクスプローラーを開く方法 その1

ブラウザからエクスプローラー(ファイル一覧)を開きたい場合のメモ

ActiveXでExplorer.exeを開くのが一番簡単?

下記のコードを index.html 等の名前で保存してサーバーへアップロード。

<!DOCTYPE html><html lang="ja"><head><meta charset="UTF-8"><meta name="robots" content="noindex,nofollow"><title>エクスプローラを実行</title></head><body>

<script type="text/javascript" langage="JavaScript">
	function RunApp(AppPath) {
		new ActiveXObject("WScript.Shell").Run(AppPath);
		window.open('about:blank','_self').close();
	}
	var getUrlVars = function(){
	    var vars = {}; 
	    var param = location.search.substring(1).split('&');
	    for(var i = 0; i < param.length; i++) {
	        var keySearch = param[i].search(/=/);
	        var key = '';
	        if(keySearch != -1) key = param[i].slice(0, keySearch);
	        var val = param[i].slice(param[i].indexOf('=', 0) + 1);
	        if(key != '') vars[key] = decodeURI(val);
	    } 
	    return vars;
	}
	var nums = getUrlVars();

	///////////////////////////////////////////////////////////////////////
	var folder = "\\\\192.168.24.5\\data\\";	// ベースとなるディレクトリ
	///////////////////////////////////////////////////////////////////////

    // ?n=1&m=2&l=3&f=4 → folder¥1¥2¥3¥4
    // ?n=1&m=2         → folder¥1¥2¥
    // ?n=1             → folder¥1¥
    // 非効率ですが...

	if(nums["f"]) 		folder = folder + nums["n"] + "\\" +  nums["m"] + "\\" +  nums["l"] + "\\" + nums["f"];
	else if(nums["l"]) 	folder = folder + nums["n"] + "\\" +  nums["m"] + "\\" +  nums["l"] + "\\";
	else if(nums["m"]) 	folder = folder + nums["n"] + "\\" +  nums["m"] + "\\";
	else 				folder = folder + nums["n"] + "\\";

	var exec = "explorer.exe /n /e /root,"+folder;

</script>

</head><BODY>

<script type="text/javascript" langage="JavaScript">
if(nums["n"].length) {
	var html = '<form><input type="text" name="url" size="64" value="'+folder+'"readonly></form>';
	document.write(html);
	RunApp(exec);
}
</script>
<script type="text/javascript" langage="JavaScript">
    var ua = window.navigator.userAgent.toLowerCase();

	if(ua.indexOf('msie') != -1 || ua.indexOf('trident') != -1){
        // セキュリティの設定ができていない
    } else {
        // IEでない
	}
</script>
</body></html>

実行にはIEのセキュリティ設定が必要です。

あわせて読みたい
IEでActiveXを使う設定方法
IEでActiveXを使う設定方法Internet ExplorerでActiveXを使う設定をメモ今回は外部サーバーに置いたhtmlからの実行を前提としています。通常の方法Windowsキーを押しながら『R』ボタンを押してフ...

Google Chromeから実行するにはIE Tabが便利です。

あわせて読みたい
Google ChromeでIE専用ページを表示する(IE Tab)
Google ChromeでIE専用ページを表示する(IE Tab)最近はInternet Explorerでないと表示できないページはほとんど無いですが、ActiveXを使ったページではIEは大変重宝します。Cromeをデフォルトで使う人は多いと思います...

ActiveXのサポートは長くて2025年10月までなので、代替え方法を探していたら良さそうな方法が見つかったので、検証して次の記事に書きたいと思います。

[追記]記事を追加しました

あわせて読みたい
ブラウザからエクスプローラーを開く方法 その2
ブラウザからエクスプローラーを開く方法 その2WindowsにURLスキームを設定する方法になります。当初cmd.exeを使ってやろうとしてたんですが、URLデコード変換がうまくいかず...PowerShell.exeを使用してようやくうま...

この記事が気に入ったら
いいねしてね!

よかったらシェアしてね!

コメント

コメントする

目次
閉じる