🤝

Windowsコマンドで拡張子とソフトを関連付ける方法

2023/04/12に公開

概要

こちらの記事で紹介しているnupkgファイルは、Windowsの初期設定だと未登録の拡張子でした。
nupkgファイル自体はZIP形式のファイルであった為、Windows標準の圧縮・解凍機能[1]と関連付け(紐づけ)しました。
簡易な内容ですが、その方法を紹介します。

なお7-Zipなどの圧縮・解凍ツールを導入されている場合は、
拡張子を登録していなくとも右クリックのショートカットメニュー(コンテキストメニュー)等から、
解凍処理を呼び出せる為、この記事の作業は不要かと思います。

この記事のターゲット

  • Windowsコマンドで未登録の拡張子をソフトウェアに関連付けしたい方

対応方法

作業前の状態 < クリックで折りたたみが開く >
  • 画面(エクスプローラー)上で未登録状態である事を確認
    アイコン表示により、どのソフトウェアにも関連づいていない事を確認。
    真っ白なファイルのアイコンが表示されていて拡張子が関連付けされていない状態
    関連付け前の拡張子「.nupkg」ファイル

  • コマンド上で未登録状態である事を確認
    未登録の拡張子「.nupkg」の関連付け(ファイルタイプ)の状態より、関連付けされていない事を確認。

    コピー用
    assoc .nupkg
    
    コマンドプロンプト
    C:\WINDOWS\system32>assoc .nupkg
    拡張子 .nupkg のファイルの関連付けが見つかりません
    
    C:\WINDOWS\system32>
    
  • 関連付けするWindows標準の圧縮・解凍機能[1:1]の詳細情報
    ファイルタイプ「CompressedFolder(Windows標準の圧縮・解凍機能[1:2])」の詳細情報を確認。

    コピー用
    ftype CompressedFolder
    
    コマンドプロンプト
    C:\WINDOWS\system32>ftype CompressedFolder
    CompressedFolder=%SystemRoot%\Explorer.exe /idlist,%I,%L
    
    C:\WINDOWS\system32>
    

関連付けを設定する方法

  1. 未登録の拡張子「.nupkg」を関連付け
    ファイルタイプ「CompressedFolder(Windows標準の圧縮・解凍機能[1:3])」に関連付ける

    コピー用
    assoc .nupkg=CompressedFolder
    
    コマンドプロンプト(管理者権限)
    C:\WINDOWS\system32>assoc .nupkg=CompressedFolder
    .nupkg=CompressedFolder
    
    C:\WINDOWS\system32>
    
  2. 関連付けされた事を確認

    • 画面(エクスプローラー)上で関連付けされた事を確認
      アイコン表示により関連付けを確認。
      CompressedFolder(圧縮データ)として関連付けされた拡張子がnupkgのファイル
      関連付け後の拡張子「.nupkg」ファイル

    • コマンド上で関連付けされた事を確認

      コピー用
      assoc .nupkg
      
      コマンドプロンプト
      C:\WINDOWS\system32>assoc .nupkg
      .nupkg=CompressedFolder
      
      C:\WINDOWS\system32>
      

切り戻し手順[関連付けを解除(削除)する方法]

  1. 登録済みの拡張子「.nupkg」の関連付けを解除

    コピー用
    assoc .nupkg=
    
    コマンドプロンプト(管理者権限)
    C:\WINDOWS\system32>assoc .nupkg=
    
    C:\WINDOWS\system32>
    
  2. 関連付けが解除された事を確認

    コピー用
    assoc .nupkg
    
    コマンドプロンプト
    C:\WINDOWS\system32>assoc .nupkg
    拡張子 .nupkg のファイルの関連付けが見つかりません
    
    C:\WINDOWS\system32>
    

補足事項:PowerShell CLIでassocやftypeを実行する場合

PowerShellのCLIでは、「assocコマンド」や「ftypeコマンド」を直接実行した場合、
エラーが発生してしまいます。

PowerShell CLIで実行した際のエラー内容 < クリックで折りたたみが開く >
assocコマンドを実行した際のエラー
PS C:\WINDOWS\system32> assoc .nupkg=CompressedFolder
assoc : 用語 'assoc' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されませ
ん。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してくだ
さい。
発生場所 行:1 文字:1
+ assoc .nupkg=CompressedFolder
+ ~~~~~
    + CategoryInfo          : ObjectNotFound: (assoc:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PS C:\WINDOWS\system32>
ftypeコマンドを実行した際のエラー
PS C:\WINDOWS\system32> ftype CompressedFolder
ftype : 用語 'ftype' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されませ
ん。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してくだ
さい。
発生場所 行:1 文字:1
+ ftype CompressedFolder
+ ~~~~~
    + CategoryInfo          : ObjectNotFound: (ftype:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PS C:\WINDOWS\system32>

PowerShell CLIでの実行方法

PowerShellからコマンドプロンプトのコマンドを呼び出す際は、
先頭に「cmd /c 」をつける事でPowerShellでも実行が可能となります。

コピー用
cmd /c assoc .nupkg=CompressedFolder
PowerShell CLI(管理者権限)
PS C:\WINDOWS\system32> cmd /c assoc .nupkg=CompressedFolder
.nupkg=CompressedFolder
PS C:\WINDOWS\system32>
コピー用
cmd /c ftype CompressedFolder
PowerShell CLI
PS C:\WINDOWS\system32> cmd /c ftype CompressedFolder
CompressedFolder=%SystemRoot%\Explorer.exe /idlist,%I,%L
PS C:\WINDOWS\system32>

参考記事

まとめ

  • レガシーなコマンドプロンプトのコマンドだが、「assocコマンド」で簡単に関連付けが可能
  • PowerShell CLIで「aasocコマンド」を実行する場合は、先頭に「cmd /c 」をつける

関連記事

https://haretokidoki-blog.com/pasocon_powershell-startup/
https://zenn.dev/haretokidoki/articles/7e6924ff0cc960

脚注
  1. エクスプローラー(Explorer.exe)を使用した機能 ↩︎ ↩︎ ↩︎ ↩︎

  2. 管理者権限でコマンドプロンプトを起動する方法: Winキー → スタートメニュー表示 → 「cmd」と入力 → コマンドプロンプトの“管理者として実行”を選択 ↩︎ ↩︎

  3. 管理者権限でPowerShell CLIを起動する方法:Winキー → スタートメニュー表示 → 「powershell」と入力 → Windows PowerShellの“管理者として実行”を選択 ↩︎

GitHubで編集を提案

Discussion