如何在2018年4月更新后将Windows 10上文件扩展名的“默认应用程序”设置为“.exe”

2uluyalo  于 2023-01-10  发布在  Windows
关注(0)|答案(1)|浏览(217)

我花了很长时间来研究这个问题,大部分解决方案都是在2018年4月之前发布的,涉及到通过“设置”来达到“按文件类型选择默认应用程序”。
Choose default Apps by file type
在以前尝试将应用程序分配到“.雷克斯”时,我设法将其分配到记事本。(当时,我找不到任何方法在我的C:驱动器。)
所以正如你所看到的,如果你点击.雷克斯扩展名旁边的记事本,唯一的选择就是转到“应用商店”。
而且不出所料,如果你点击应用商店,什么都找不到...
App store - no app's found.
因此,从我在多个论坛上读到的,在2018年4月之前,Windows 10仍然有一种方法来“浏览你的硬盘驱动器”找到一个“.exe”.(就像在旧的Windows版本。)在2018年4月的一些更新后,该功能不再存在。
在POST四月2018,有没有人找到一种方法来分配文件扩展名到硬盘上的“.exe”???

ttvkxqim

ttvkxqim1#

我认为这个问题更适合SuperUser(好吧,除非你想通过程序来做:)。
无论如何,这里有一个从控制台(* Cmd )做事情的方法。我已经尝试了1或2年前,我刚刚尝试它,所以它的工作与 * Win(10) 版本无关。
从头开始该过程:
1.打开一个 * 命令提示符 * 窗口。创建一个 * OS * 不知道的新文件。我选择了扩展名***. zzz***:

e:\Work\Dev\StackOverflow\q052008516>ver

Microsoft Windows [Version 10.0.17134.228]

e:\Work\Dev\StackOverflow\q052008516>dir /b

e:\Work\Dev\StackOverflow\q052008516>:: Create a dummy .zzz file
e:\Work\Dev\StackOverflow\q052008516>echo Some dummy text>file.zzz

e:\Work\Dev\StackOverflow\q052008516>dir /b
file.zzz

1.尝试从文件浏览器打开文件(DblClick)(这无关紧要,但我使用的是Total Commander),或者在 * Cmd * 中输入文件名,这将产生可怕的对话框:

1.创建一个新的文件类型,并将我们的扩展名与它关联起来。[MS.Learn]: assoc实用程序用于完成这项工作。首先,检查这样的关联是否还不存在:

e:\Work\Dev\StackOverflow\q052008516>:: No output means no association
e:\Work\Dev\StackOverflow\q052008516>assoc | findstr ".zzz"

e:\Work\Dev\StackOverflow\q052008516>:: Same command for a different extension
e:\Work\Dev\StackOverflow\q052008516>assoc | findstr ".txt"
.dic=txtfile
.exc=txtfile
.log=txtfile
.scp=txtfile
.txt=txtfile
.wtx=txtfile

e:\Work\Dev\StackOverflow\q052008516>:: Create a new FileType (ZZZFile) and associate our extension with it
e:\Work\Dev\StackOverflow\q052008516>assoc .zzz=ZZZFile
.zzz=ZZZFile

e:\Work\Dev\StackOverflow\q052008516>assoc | findstr ".zzz"
.zzz=ZZZFile

尝试打开文件时无更改。
1.将文件类型(ZZFile,来自上一步)与命令相关联。使用[MS.Learn]: ftype工具执行此任务。再次检查文件类型是否尚未关联(仅当文件类型在上一步之前存在时才有意义):

e:\Work\Dev\StackOverflow\q052008516>:: As usual, no output means no association
e:\Work\Dev\StackOverflow\q052008516>ftype | findstr ZZZFile

e:\Work\Dev\StackOverflow\q052008516>:: Same thing for txtfile
e:\Work\Dev\StackOverflow\q052008516>ftype | findstr txtfile
txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1

e:\Work\Dev\StackOverflow\q052008516>:: Associate ZZZFile with notepad
e:\Work\Dev\StackOverflow\q052008516>ftype ZZZFile=%SystemRoot%\system32\notepad.exe %1
ZZZFile=C:\WINDOWS\system32\notepad.exe %1

e:\Work\Dev\StackOverflow\q052008516>ftype | findstr ZZZFile
ZZZFile=C:\WINDOWS\system32\notepad.exe %1

1.尝试再次打开文件(从 * Cmd *),然后 * 瞧 *:

总结:

为了使用 * Notepad * 打开扩展名为 *. zzz的文件,只需记住这整个(且相当长的)答案中的2个命令

  • 第一个月
  • ftype ZZZFile=%SystemRoot%\system32\notepad.exe %1
    • 备注**:
  • 我的用户具有 *(超级)管理权限 ,但我猜它们的影响不会因操作执行位置( Cmd * 或 * UI *(如果可能))而异,换句话说,不具有所需权限的用户将无法执行操作,无论他们尝试执行什么操作
  • 显然,在这个主题上有一个(相当黑暗的)星云,我的知识还不能"破译"。在我的例子中,我不断地将***. zzz结果与***. txt**进行比较。然而,一个大惊喜是: 记事本++记事本 * 用于打开txt文件**(仅限***. txt***),尽管有上述输出

更新 *#0 *

我对 *. txt * 之谜做了更多的挖掘。事实:

    • FType * 将 * 记事本 * 显示为打开程序
  • 它实际上是通过 * 记事本++* 打开的(在 * Cmd * 和 * PS * 中)
  • 在 * 按文件类型选择默认应用程序 * 中,显示 * 记事本++*

所以很明显,这不仅仅是表面现象(多年来,我已经习惯了 * MS * 的做事方式,在某些情况下,这似乎是(但也许是我没有所有的碎片)不合逻辑的)。我还找到了许多资源,如:

dism /online /export-defaultappassociations:"file.txt"
  • [XDA开发人员]:以编程方式设置默认文件关联,其中涉及 * reg * 键:
    • 香港中文大学\软件\Microsoft\Windows\当前版本\资源管理器\文件扩展${EXT}*
    • 华润${EXT}*

我找不到一个清晰的算法来解释如何选择一个可执行文件来运行一个具有特定扩展名的文件。我可以认为上面的两个键被查询了,但我 * 100%* 肯定还有更多。更不用说我遇到了一个更奇怪的问题(对于我 * Win 10 * 上的普通用户),针对***. py***文件:

    • FType *(和 * Assoc *)如上所述报告所有内容
  • 在 * 按文件类型选择默认应用 * 中,显示了 * Python *(与我的 * 超级管理员 * 用户的情况相同)
  • 尝试从 * Cmd * 运行文件,在开始时生成对话框
  • 它从 * PS * 开始工作

遗憾的是,在查看注册表项之前,我从对话框中选择了 * Python *(现在它可以工作了),所以我不能再进行任何调试(而且,切换用户也很烦人)。
可能相关:

相关问题