我希望每当我打开某种特定文件类型(在资源管理器中双击它)时,它总是使用特定的命令行选项打开关联程序。
因此,例如,当双击 .tex 文件时,我希望它不仅使用 emacs 打开它(只需进入“打开方式”即可轻松设置),而且还使用命令行选项“-fs”运行 emacs。
做到这一点最简单的方法是什么?
谢谢
答案1
我想说最简单的工具是Nirsoft 文件类型管理。
启动它并找到您想要修改的扩展。
在下方窗格中,找到操作并将其修改emacs.exe -fs %1
为emacs.exe %1 -fs
... 假设 Emacs.exe 是程序名。另外,我从未使用过它,所以我不确定要以什么顺序提供参数。%1
是文件名,因此请使用合适的名称。
答案2
了解 Nirsoft FileTypesMan 的作用,您可以手动执行相同的操作,如下所示:
在看
HKEY_CLASSES_ROOT\.ext
的值
(Default)
,无论.ext
您关心什么文件扩展名。将该值称为{class_for_ext}
。在看
HKEY_CLASSES_ROOT\{class_for_ext}\shell\open\command
在
(Default)
值处。这是 Windows 资源管理器将运行的命令行,也是 FileTypesMan 将允许您编辑的命令行。
答案3
感谢您为我指明了正确的方向。我为 excel 制作了一个 reg 文件脚本,这样它总是在多个 exe 实例中打开,而不是新的默认单个实例。/X 是 MS Office 应用程序中的选项。快捷方式中的“excel.exe /X”,以及注册表中的“.... excel.exe”/X“%1”。
从 win7 开始:
[HKEY_CLASSES_ROOT\xls_auto_file]
@=""
"EditFlags"=hex:00,00,01,00
[HKEY_CLASSES_ROOT\xls_auto_file\shell]
[HKEY_CLASSES_ROOT\xls_auto_file\shell\open]
[HKEY_CLASSES_ROOT\xls_auto_file\shell\open\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\root\\Office16\\EXCEL.EXE\" /X \"%1\""
[HKEY_CLASSES_ROOT\xlsx_auto_file]
@=""
"EditFlags"=hex:00,00,00,00
[HKEY_CLASSES_ROOT\xlsx_auto_file\shell]
[HKEY_CLASSES_ROOT\xlsx_auto_file\shell\open]
[HKEY_CLASSES_ROOT\xlsx_auto_file\shell\open\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\root\\Office16\\EXCEL.EXE\" /X \"%1\""