web-dev-qa-db-ja.com

Windows 10(1803)でファイルの関連付けを大量に再割り当てする方法

(一番下までスクロールして質問にスキップしますが、この場合、盲目的に閉じるように投票しないでください...)

はい、私はこのトピックが何度も逆流されたことを知っています herehere および hereしかし私は約束しますこれは重複していません。これらのどれも、ソフトウェアをより大きなスケールでファイル拡張子に関連付けるのに役立ちません。実際、少なくともWindows 10(1803)では、関連付けをより便利に変更できることがわかりましたが、 FileTypesMan (バージョン1.83を試しました)トリックもツールもassocftypeが連携して動作しました。

これらの方法はすべて、問題のタイプ/拡張子のファイルをダブルクリックすると、「このアプリを使用し続ける」ように提案するRTスタイルのダイアログが作成され、デフォルトで「写真」があり、以下のファイルタイプを処理する潜在的な候補ソフトウェアのリスト。

Ifsとbuts(および追加のダイアログ)なしでこれらのファイルを開くように選択したソフトウェアが欲しいのですが。


例:SumatraPDFでPDF(デフォルトはEdge)と並んで電子ブックファイルの種類を開き、IrfanViewで画像を開くようにしました。アプリケーションがインストールされると、Windowsからファイルがアソシエーションはリセットされました。まあ、私のシステムで何が起こっているのかを制御するためには、これだけです。

そこで、IrfanViewを管理者として起動し、ファイルの関連付けを設定しました。残念ながら、FileTypesManのUserChoice列にはAppX43hnxtbyyps62jhe9sqpdzxn1790zetcが表示され続けました。これは、少なくとも私のシステムでは、Windowsに付属するフォト(ストア)アプリケーションに対応しています。この例では、.bmpファイルについて説明します。

FileTypesManを使用してUserChoice列を修正しようとすると、アクセスが拒否されたことを通知するエラーメッセージが表示されました。ええと...

だから私は Process Monitor にアクセス拒否エラーの影響を受けたキーを示しました。案の定、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bmp\UserChoice内に値を書き込む試みを指摘しました。そのため、そのキーのアクセス許可を確認したところ、疑わしいものは何もありませんでした。しかし、[詳細セキュリティ設定]ダイアログでUserChoiceキーの詳細を調べたところ、次のことがわかりました。

Advanced Security Settings

しかし、大学のシステム管理者としてのDenyの時代から、ACEはめったに見られませんでした。現在、ACL内のACE優先ルールに鋭敏に気付いていると、このDeny ACEが問題であることがすぐにわかりました。それは私のユーザーアカウントのACLを支配しました。

FileTypesManなどのツールは、そのACEを積極的に削除し、操作後に元に戻す必要があります。明らかにそれはしません(おそらく、報告すべき欠陥ですか?)。私が知っている他の方法はありませんが、バックアップおよび/または復元特権(別名ユーザー権利)の取得と有効化の可能性のある例外は、ACLとACEを回避することになります(別名:管理者の手段による不正行為;))。

とにかく、私はその側から運が悪かった。


悲しいかな、私はIrfanViewで機能する回避策を見つけました。ただし、同じ回避策didnotはSumatraPDFで機能し、面倒なマウスクリック(したがって、私はこの質問をしている)。

回避策は以下の通りです。 「Windows設定」アプリを開き、「アプリ」を選択してから、左側にある "Defaults Apps"アイテムを選択します。メインペインを下にスクロールし、下から "Set defaults by app"を選択します。

Default Apps

そこから、管理したいアプリケーション(私の場合はIrfanView)を見つけ、「管理」ボタンを押します(選択したプログラムを選択した後)。 。

IrfanView in the app list

次に、新しいリストが開き、プログラムによって明らかにサポートされているファイル拡張子の比較的単純な概要が表示され(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bmp\OpenWithProgidsまたは他のレジストリ設定がここで役割を果たすと思います)、現在の設定を変更できます。

Pick a new program for the file extension

だから、大丈夫ですよね?まあ、いや。 IrfanViewは "Set defaults by app"のリストを作成しましたが、SumatraPDFはどこにも見つかりませんでした。

SumatraPDFがリストされていないという事実はSumatraPDFの誤りである可能性がありますが、これはWindowsが私が意図的に行った設定を完全に元に戻すことを許すわけではありません。


したがって、その「Windows設定」アプリには明らかにDeny ACEを回避する魔法のソースがありますが、それでもanyを関連付ける簡単な方法は提供されません私が選択したソフトウェアのファイル拡張子バッチ

質問

したがって、上記の状況を考えると、任意のファイル拡張子を、選択した任意のインストール済みソフトウェアとより大きなスケールで関連付けるにはどうすればよいですか(つまり、ほとんどバッチで、面倒なマウスクリック乱交なしで、Windows 10が介入して私の意識的な選択を元に戻す危険を冒すことなしに?

12
0xC0000022L

ファイル拡張子のリストを作成し、その拡張子によって実行されるアプリケーション(Excelなど)を作成し、それを.csvファイルにエクスポートして、以下のリンクからPowerShellスクリプトを使用できます: https ://gallery.technet.Microsoft.com/scriptcenter/How-to-associate-file-3898f323

このスクリプトを編集して、.csvファイルを読み取り、適切な拡張子とアプリケーションの割り当てを行うことができます。

.exe拡張子を処理するときは、その動作を変更するとWindowsで一般的な問題が発生する可能性があるため、注意が必要です。 forループ内のすべての拡張機能を変更するのに数分以上かかることはありません。

3
pbies

初めは投稿者の問題に懐疑的でしたが、マイクロソフトからこの記念碑的なガフを見つけてびっくりしました。

私が調べた問題が発生しなかったすべてのケースは、Windows 10バージョン1809より前にインストールされました。1809バージョンのWindows 10 Enterprise(Business)およびWindows 10 Pro(Consumer)をダウンロードして、仮想マシンにクリーンインストールを行ったとき、彼らはこのACLを持っていました!

このACLは新しい追加であり、以前のバージョンには存在しませんでした。それは明らかに、以前のバージョンから1809へのアップグレード中ではなく、クリーンインストール中にのみ保存されます。ブレインストームがこれをもたらした理由はわかりませんが、Microsoftは明らかにPhotosアプリの使用を世界に強制することを決定しました。

私たちの開発者には、この新しい状況に適応する以外に選択肢はありません。この新しいACLとブロッキングACLを削除する必要があります。

.regエントリを削除するSet Valueファイルの形式のソリューションを探している場合は、.bmpのブランチ全体を削除して、順番に再作成する必要があると思いますそれを取り除くために。それ以外の場合、権限を変更するには、スクリプトまたはインストールプログラムが必要です。

何かのようなもの :

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bmp]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bmp]
...
5
harrymc