我知道我可以在命令行上使用 assoc 和 ftype 来获取文件类型关联。所以当我这样做时:
我的印象是 .html 文件是用 iexplorer 打开的。
但是 html 文件使用 chrome 打开,因为 chrome 已被设置为 html 文件的默认应用程序。
当程序确实用 chrome 打开时,为什么 ftype 会给我 iexplorer?
最佳答案
似乎 ftype 和 assoc 在运行 Windows 8 或更高版本的系统上非常无用。
这是因为 Microsoft 在 Windows 8 中决定用户只能通过内置 GUI 设置默认程序。这可能是由于安全原因和应用程序劫持文件类型关联的问题。
因此引入了一个新的注册表项,Windows 现在将用户选择写入
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\<extension>\UserChoice
该键包含一个 Prog-Id 和一个哈希值。正确的 Hash 值证明 UserChoice ProgId 值是由用户设置的,而不是由任何其他应用程序设置的。如果哈希无效,Windows 会将用户选择重置为默认应用程序。
ftype command
但是不知道上面的注册表项。它读取
HKCR\htmlfile\shell\open\command\(Default)
注册表项并打印出结果。因此,ftype 命令的结果无法用于确定哪个应用程序与特定文件扩展名相关联。
关于powershell - 从命令行在 Windows 10 中获取文件类型关联的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51715292/