ローカルのhtmファイルをedgeで開くコマンドラインは?

© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2017

edgeには「開く」がない。

ローカルのhtmファイルをedgeのウィンドウやショートカットにドロップできない。

唯一の方法、ローカルのhtmファイルを右クリック、「プログラムから開く」でedgeを選択。

コマンドラインで
start microsoft-edge:file:///c:/folder/file.htm
は、なぜかダメ。


**モデレーター注**
「質問」として投稿されましたが、内容から判断して「ディスカッション」に変更しました。
特定の問題に対する解決法を求める場合は「質問」、一般的な技術問題の議論や他の方の意見を聞く場合は「ディスカッション」として投稿してください。
 

ディスカッション情報


最終更新日 2019年2月01日 表示 4,616 適用先:
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2017
edgeには「開く」がない。
アドレスバーに"パス名"を入れてもダメ。パス名ならよいけれど、"パス名"を貼り付けて、" "を外すのは面倒。

ブックマークレット
開く.url
javascript:(function(u){if(u){location.assign(u.replace(/\x22/g,''));}})(prompt('enter url or path'))
で" "を外して開く。

© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2017

edgeのショートカットを作って、

start "" "c:\folder\edge.lnk" c:\folder\file.htm

で開いた。ドロップはできなくても、引数は持ってるということ? 「プログラムから開く」の手順か。

バッチファイルにドロップ.cmd
start "" "c:\folder\edge.lnk" %1

ショートカットにドロップ.lnk
cmd.exe /c start "" "c:\folder\edge.lnk"

ここで、edgeのショートカットは、
shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge
と同値。したがって

コマンドラインで
start shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge c:\folder\file.htm

バッチファイルにドロップ.cmd
start shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge %1

ショートカットにドロップ.lnk
cmd.exe /c start shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge

ということになる。
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2017
edgeには、「名前を付けて保存」がない。「対象をファイルに保存」はある。

現ページのリンクを表示して、「対象をファイルに保存」が使えるようにすることはできる。

ブックマークレット
現ページのリンクを表示.url
javascript:(function (d){var a=d.createElement('a');a.href=location.href;a.textContent=d.title;a.setAttribute('style','position:fixed; z-index:5; background-color: yellow; left:100px; top:0px;');d.body.insertBefore(a,d.body.firstChild);})(document)

ただし、「対象をファイルに保存」では、htmlのみ。完全やアーカイブは不可。

​ウィンドウズスクリプトプログラマ さん、こんにちは。
マイクロソフト コミュニティへの投稿、ありがとうございます。

調べてみても情報を見つけることができなかったのですが、今回は 2017/09/02 15:13:55 に投稿されたコマンドラインで問題が解消されたということでしょうか? (違っていたら、すみません)

その場合はこちらで [回答としてマーク] を付けさせていただきますので、おっしゃってくださいね。

津森 美緒 – Microsoft Support
問題が未解決の場合は、その旨お知らせください。引き続き、解決に向けて手助けをさせていただきます。
問題の解決に役立った場合は、その返信を回答としてマークしてください。
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2017
ディスカッションに変更してください。
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2017
ieでは、名前を付けて保存の代替に
javascript:(function(){document.execCommand('SaveAs',true,document.title);})()
が使えるのに、edgeでは(以前は使えたらしいが、今は)ダメ。
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2017
ファイル選択ダイアログボックスを出す「開く」は、

open.htm
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=shift_jis">
</head>
<body>
<input type=file id=FILE size="100">
<input type=button value="開く" onclick="if(FILE.value){location.assign(FILE.value);}">
</body>
</html>

コマンドプロンプトでhtmファイルにイントラネットのZoneIDを書き込む。
(
Echo [ZoneTransfer]
Echo ZoneId=1
) > "open.htm:Zone.Identifier"

このhtmファイルへの「お気に入り」をedgeにインポートする。
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2017
edgeには「internet explorerで開く」があるが、ieには「edgeで開く」がない。

edgeで開く.url
javascript:open('microsoft-edge:'+location.href).close();void(0)


© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2017
アドレスバーに"パス名"を入れてもダメ。パス名ならよいけれど、"パス名"を貼り付けて、" "を外すのは面倒。
ブックマークレットで、クリップボードを加工すればよい、のだけれど、ieと違って、edgeでは、クリップボードを操作できない。安全なブラウザを標榜しているので、セキュリティ上の制限でしょう。
clipboardData.getData(),clipboardData.setData()不可。
execCommand('copy')可。execCommand('paste')不可。
スパイウェア防止でしょう。
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2017
ieと違って、edgeでは、クリップボードを操作できない。
例外はコピー。

javascript:(function(d){var a=d.createElement('textarea');a.textContent=location.href;a=d.body.insertBefore(a,d.body.firstChild);a.focus();a.select();d.execCommand('COPY');d.body.removeChild(a);})(document);