assoc / ftype 是什么
这两条命令管的是「双击文件用什么程序打开」这件事:assoc 查看某个扩展名指向哪个文件类型,ftype 查看该文件类型对应的实际打开命令,两者都可以修改。文件关联被乱装软件改坏、日志文件双击打开方式异常、批处理被记事本接管时,它们是最快的排查与修复入口,改动会写进注册表并长期生效。
基本信息
| 适用平台 | Windows 10/11、Server 2016+ 的 CMD |
|---|---|
| assoc 语法 | assoc [.ext[=文件类型]] |
| ftype 语法 | ftype [文件类型[=命令]] |
| 权限要求 | 查看普通用户即可,修改需要管理员命令行 |
| 生效方式 | 写入注册表,重启后仍然有效 |
典型使用场景
- .log、.ini 这类文本文件双击打开方式被改乱,要改回文本编辑器
- 排查双击 exe、bat 变成用记事本打开等关联劫持
- 机房批量统一 .csv、.ps1 的默认打开方式
- 确认某个扩展名当前挂在哪个文件类型上,缩小排查范围
- 部署脚本里校验关联是否符合基线要求
- 卸载软件后残留关联导致图标异常,手工清理错误指向
常用示例
常用示例
assoc .log :: 查看 .log 当前关联的文件类型
assoc | findstr /i log :: 列出所有含 log 的关联
ftype txtfile :: 查看该类型的实际打开命令
assoc .log=txtfile :: 把 .log 关联到文本类型(需管理员)
ftype txtfile="%SystemRoot%\system32\NOTEPAD.EXE" "%1" :: 改回打开命令
:: 改完可能需要重新登录,或等资源管理器刷新图标缓存命令与作用对象
| 命令 | 作用对象 | 典型用途 |
|---|---|---|
| assoc .ext | 扩展名 指向 文件类型 | 查改某类文件归谁管 |
| ftype 类型=命令 | 文件类型 指向 打开命令 | 修复被改坏的打开方式 |
| assoc(无参数) | 列出全部关联列表 | 全局排查与留档 |
| 设置中的默认应用 | 用户级默认程序 | UserChoice 覆盖时改这里 |
Windows 10 之后默认应用的最终决定权在用户的 UserChoice 上,assoc/ftype 改的是基础关联;如果用户手动选过「始终用此应用打开」,命令行修改会被覆盖,需要到系统设置里的默认应用处调整。
修改前先执行一次 assoc 与 ftype 把原值记下来(或截图存档),回滚时才有依据;这两条命令在 PowerShell 里同样可用,语法一致。