最近Windowsを再インストールしたばかりですが、環境をセットアップするときに、Notepad ++で編集するさまざまなプログラミング言語に対するすべての関連付けが(自然に)なくなっていることに気付きました。
私は将来を考えています。ボタンをクリックするだけで、選択したファイル拡張子をN ++に自動的に関連付けることができるようなバッチファイルがあり、これらのすべての拡張子に出会うまで待つ必要はないのではないでしょうか。 N ++ exeなどにナビゲートすることの厳格さを経て.
これは、Windows 7に付属するDefault Programs
ユーティリティでは実行できません。これは、「遭遇」した拡張機能でしか機能しないためです。
それで、プログラムでファイル拡張子をWindows上のアプリケーションに関連付けることは可能ですか?
Ftype&Assocを使用してこれを修正します(スクリプトで実行できます)。
Assocを使用してファイルタイプを取得する
>Assoc .txt
あなたにあげる:
.txt = txtfile
その後
>Ftype txtfile=C:\Program Files (x86)\Notepad++\notepad++.exe %1
ファイルタイプがわかったら、Ftypeを使用してアクションに関連付けることができます。
これは.phpファイルで機能します(バッチファイルに配置するだけです)
Assoc .php=phpfile
Ftype phpfile="C:\Program Files (x86)\Notepad++\notepad++.exe" %1
また、これらの行をコピーして、必要に応じて他のテキストベースのファイルを追加できます。
Windows 10で動作するスクリプトは次のとおりです
$exts=@("txt","log","csproj","sql","xml","flobble")
echo "## setting up file associations"
foreach ($ext in $exts){
$extfile=$ext+"file"
$dotext="." + $ext
cmd /c assoc $dotext=$extfile
cmd /c "ftype $extfile=""C:\Program Files (x86)\Notepad++\notepad++.exe"" %1"
echo ""
}
https://Gist.github.com/timabell/bc90e0808ec1cda173ca09225a16e194
この作業を行うために必要な情報について、他の回答に感謝します。
少なくとも、notepad ++にIDとパスを提供するレジストリキーを1つ作成し、それを使用するために登録する拡張機能ごとに1つ作成する必要があります。
IDとパスを作成するには(パスが正しい場所を指していることを確認します):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\notepad_pp]
@=""
[HKEY_CLASSES_ROOT\notepad_pp\Shell]
[HKEY_CLASSES_ROOT\notepad_pp\Shell\open]
[HKEY_CLASSES_ROOT\notepad_pp\Shell\open\command]
@="\"C:\\Program Files (x86)\\Notepad++\\notepad++.exe\" \"%1\""
次に、拡張ごとに1つずつ、次のビットを繰り返します(この例では、.pl
はPerl用です)。
[HKEY_CLASSES_ROOT\.pl]
@="notepad_pp"
このファイルを拡張子.reg
で保存すると、このファイルをダブルクリックして、レジストリにエントリをインポートすることを確認するだけで、すべての拡張子を再度関連付けることができるようになります。