如何优雅地使用命令行设置windows文件关联
使用ftype查看帮助
设置关联所需命令有ftype assoc,需要管理员权限。如果忘记使用方法可通过ftype的帮助获取查看方法
C:\WINDOWS\system32>ftype /?
显示或修改用在文件扩展名关联中的文件类型
FTYPE [fileType[=[openCommandString]]]
fileType 指定要检查或改变的文件类型
openCommandString 指定调用这类文件时要使用的开放式命令。
键入 FTYPE 而不带参数来显示当前有定义的开放式命令字符串的
文件类型。FTYPE 仅用一个文件类型启用时,它显示那个文件类
型目前的开放式命令字符串。如果不为开放式命令字符串指定,
FTYPE 命令将删除那个文件类型的开放式命令字符串。在一个
开放式命令字符串之内,命令字符串 %0 或 %1 被通过关联调用
的文件名所代替。%* 得到所有的参数,%2 得到第一个参数,
%3 得到第二个,等等。%~n 得到其余所有以 nth 参数打头的
参数;n 可以是从 2 到 9 的数字。例如:
ASSOC .pl=PerlScript
FTYPE PerlScript=perl.exe %1 %*
允许你启用以下 Perl 脚本:
script.pl 1 2 3
如果不想键入扩展名,则键入以下字符串:
set PATHEXT=.pl;%PATHEXT%
被启动的脚本如下:
script 1 2 3
举一反三
根据上面的例子,你应该已经清楚如何设置了,假设我要将.md文件与vscode关联,则运行以下命令(将vscodepath改为你的exe文件路径)
ASSOC .md=MarkDown
FTYPE MarkDown=vscodepath %1
将FILETYPE与你希望允许的命令关联。
本文采用 知识共享署名 4.0 国际许可协议 进行许可