Windows 7下替换默认dir命令为自定义工具的方法
替换Windows 7命令提示符中默认dir命令的方法
嘿,我来帮你搞定这个问题!先给你解释下为啥之前把dir.exe/dir.bat放C:\根目录没用——dir是cmd的内部命令,不是系统里单独的可执行文件,cmd会优先执行内部命令,根本不会去搜索外部的同名文件,所以你之前的操作自然没效果。
下面给你两种靠谱的解决方案,按需选择:
方法一:用doskey设置永久别名(相对安全,易恢复)
这种方法通过给dir设置别名,让cmd输入dir时自动调用你的程序:
- 先写一个自动启动的脚本:新建一个文本文件,比如命名为
cmd_auto.cmd,内容写:
这里的doskey dir=C:\你的自定义程序完整路径.exe $*$*是用来传递参数的,比如你输入dir /s,参数/s会自动传给你的程序。 - 打开注册表编辑器:按Win+R输入
regedit回车,定位到HKEY_CURRENT_USER\Software\Microsoft\Command Processor - 右键右侧空白处,新建字符串值,命名为
AutoRun,值设为刚才cmd_auto.cmd的完整路径(比如C:\cmd_auto.cmd) - 重启命令提示符,现在输入dir就会启动你的自定义程序了!
如果之后想恢复默认,删掉AutoRun这个注册表项或者修改脚本内容就行。
方法二:修改注册表替换内部命令(更彻底)
注意:修改注册表有风险,操作前建议先备份注册表(右键对应项选择“导出”)!
- 打开注册表编辑器,定位到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\Extensions - 右键右侧空白处,新建字符串值,命名为
dir,值设为你的自定义程序的完整路径(比如C:\tools\my_dir.exe) - 重启命令提示符,现在输入dir就会直接执行你的程序,完全替代原有的内部命令。
额外提示
- 确保你的自定义程序能正确处理命令行参数,不然输入
dir /s这类带参数的命令时,参数可能无法传递过去。 - 测试时可以直接输入dir看效果,如果没生效,检查路径是否正确,或者重启cmd再试。
内容的提问来源于stack exchange,提问作者DJQuad
相关产品推荐
相关产品推荐

