投稿

10月, 2018の投稿を表示しています

決定版 Edgeでローカルファイルを開く パワーシェルスクリプト (ウインドウズでドロップレット)

Quick Edit Pencil
Edgeで開きたいファイルを、ドロップか送るかして開きます。

次のパワーシェルコマンドを任意の場所に保存します。

便宜上、C:\エッジで開く.ps1 にして保存します。

#テスト実行用のパス
#$args = "C:\test.html"

# 未指定の実行を防止
if(!$args){Write-Error "ファイルが指定されていません。送るかドロップしてください。"; exit}

# 単独ファイルの他フォルダがドロップされたらパス配下のファイルも取得(サブフォルダーも含む)
$target = Get-ChildItem $args -recurse -Include *.html, *.txt, *.mp4 | Select-Object | Where-Object {-not $_.PSIsContainer}

#ループ処理してEdgeで開く
$target | ForEach-Object {
  start shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge $_
}

次に、保存したエッジで開く.ps1 を右クリックしてショートカットを作成

作ったショートカットを右クリックしてプロパティを表示

リンク先に次を入れて保存

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File "c:\エッジで開く.ps1"

以上でドロップレットの完成です。

任意のhtmlファイルなどをショートカットにドロップするとエッジでローカルファイルが開きます。

尚開くファイルの種類を拡張子で指定できます。コマンド中のGet-ChildItemしている箇所のIncludeに追加します。

さらに便利に、エッジで開きたいファイルを右クリックしてエッジに送る方法です。


スタートボタンで右クリック>ファイル名を指定して実行

shell:sendto

して送る場所を開いて、さっきつくったショートカットを移動

これで、開きたいファイルから 右クリック>送る>エッジで開くをすればローカルファイルをエッジで開くことが出来ます。

連想配列を検索してインデックスを返す

Quick Edit Pencil
とりあえず

json.feed.entry.filter.id.$tの文字列に含まれるpostid を取得するケース
var postid = 1;
var new;
json.feed.entry.filter(function(item, index){
  if (RegExp(postId).test(item.id.$t)) {new = index;}
});
console.log( new );