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

时间:2018-08-24 16:31:54

标签: windows file cmd app-store default

我花了很长时间研究这个。大多数解决方案在2018年4月之前发布,涉及通过“设置”逐步进入“按文件类型选择默认应用”的方法。

Choose default Apps by file type

在先前尝试将应用程序分配给“ .rex”的过程中,我设法将其分配给记事本。 (当时,我找不到在C:驱动器上找到“ .exe”的任何方法。)

因此,如您所见,如果单击.rex扩展名旁边的记事本,则唯一的选择是转到“应用程序商店”。

与预期的一样,如果您单击App Store,则找不到任何内容...

App store - no app's found.

因此,从我在2018年4月之前在多个论坛上阅读的内容来看,Windows 10仍然可以“浏览硬盘”来找到“ .exe”。 (就像在旧版Windows中一样。)在2018年4月进行了一些更新之后,该功能不再存在。

在2018年4月的POST中,是否有人找到一种将文件扩展名分配给硬盘驱动器上的“ .exe”的方法?

1 个答案:

答案 0 :(得分:2)

我认为这个问题更适合SuperUser(好吧,除非您想通过程序来完成它:))。

无论如何,这是一种通过控制台( cmd )进行操作的方法。我在一两年前尝试过,现在就尝试过,因此无论 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 < / em>。这将产生可怕的对话框:

    Unknown file open dialog


  1. 创建一个新的文件类型并将其扩展名与之关联。 [MS.Docs]: 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. 将文件类型(上一步中的 ZZZFile )与命令相关联。使用[MS.Docs]: 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 ),然后打开voilà

    Notepad


摘要:

为了使用扩展名为 .zzz notepad.exe 文件打开,只有 2个命令需要从整个答案中记起(很长):

  • assoc .zzz=ZZZFile
  • ftype ZZZFile=%SystemRoot%\system32\notepad.exe %1

注释

  • 我的用户具有(超级)个管理权限,但我想根据( cmd UI < / em>(如果可能的话)),换句话说,没有所需特权的用户将无法执行此操作,无论他们尝试什么
  • 很明显,这个问题上有一个星云(很暗),我的知识还无法“破译”。在我的示例中,我不断将 .zzz 结果与 .txt 进行比较。然而,一个大惊喜: Notepad ++ not Notepad 用于打开 txtfile (尽管有上述输出)(仅 .txt

@ EDIT0

我进一步挖掘了 .txt 的奥秘。事实:

  • ftype 记事本显示为打开程序
  • 它实际上是由 Notepad ++ 打开的(在 cmd PS 中)
  • 按文件类型选择默认应用中,显示 Notepad ++

因此,显然,它不只是让人眼前一亮(这些年来,我习惯了 MS 的做事方式,在某些情况下似乎是这样(但也许是我自己做过的事)没有所有的碎片)ilogic)。 我还发现了很多资源,例如:

在任何地方我都找不到一个清晰的算法来确定如何选择可执行文件来运行具有特定扩展名的文件。我可以认为上面的2个键已被查询,但我 100%肯定还有更多。更不用说对于 .py 文件,我遇到了一个甚至更陌生的问题(对于我的 Win 10 的普通用户):

  • ftype (和 assoc )报告了上述所有内容
  • 按文件类型选择默认应用中,显示了 Python (就像在我的 Super Admin 用户案例中一样)
  • 尝试从 cmd 运行文件,在开始时显示对话框
  • 它来自 PS

可悲的是,在查看 reg 键之前,我从对话框中选择了 Python (现在它可以工作了),所以我无法再进行调试了(而且,切换用户很烦人。)