有一次我想,如果我用 cmd 打开 CPP 文件会发生什么。我认为它的工作方式与type
cmd 中的命令类似,但当我意识到事实并非如此时,我想从 cmd 更改默认程序。但我无法改变这一点。我在 Google 上搜索,并尝试了三种不同的方法来更改程序,但我无法更改它。以下是我的三种方法:-
1.我右键单击该文件,然后选择Open with -> choose default program
未always use the selected program to open this file
选择。
我右键单击该文件然后选择
properties
,但发现没有更改按钮。然后我
Default programs -> associate a file type or protocol with a program
选择了 .cpp 扩展名,但当我单击更改按钮时,它always use the selected program to open this file
未被选中。
现在,有人能告诉我如何从默认程序更改此程序吗?因为当我想打开这个 .cpp 文件时,它总是用 cmd 打开,而我不想用 cmd 打开这个程序。我也不想Open with -> Notepad
每次想用记事本打开这个文件时都去那里。
答案1
您应该能够使用assoc
并ftype
按照@Stephan的建议。运行CMD.EXE(以管理员身份)。这应该在文件扩展名和新文件类型(Notepad 或 notepad++)之间建立新的关系:
ASSOC .cpp=MyCPP
ftype MyCPP="%SystemRoot%\system32\NOTEPAD.EXE" "%1"
ftype MyCPP="C:\Program Files\Notepad++\notepad++.exe" "%1"
只需输入ftype
即可打印一个长列表,可能已经有一个合适的 ftype 名称可在 assoc 中使用,例如这个:
ASSOC .cpp=txtfile
答案2
您可以使用以下方法执行此操作Reg Add
也...
@echo off && setlocal EnableDelayedExpansion
for %%i in (C:\Windows\System32\notepad.exe,C:\Windows\notepad.exe
)do if exist "%%~i" set "_path_notepad=%%~i" && goto :regadd
:regadd
2>nul (
"%__APPDIR__%reg.exe" add "HKCU\Software\Classes\.cpp" /ve /d "cppfile" /f
"%__APPDIR__%reg.exe" add "HKCU\Software\Classes\cppfile" /ve /d "C++ Code File" /f
"%__APPDIR__%reg.exe" add "HKCU\Software\Classes\cppfile\shell\open\command" /ve /d "\"!_path_notepad:\=\\!\" \"%%v\"" /f
) >nul && endlocal || (endlocal && echo/Something is very wrong here^!!) & %__APPDIR__%timeout.exe -1
观察:1您可能需要使用管理员凭据运行此程序,以管理员身份运行它
观察:2这是另一个答案的改编,作者不是我