Windows10非管理员账户双击批处理文件报错的问题咨询
批处理文件双击报错的问题排查与解决方案咨询
问题现象
在Windows 10个人用户账户中,双击资源管理器或任意位置的批处理文件(哪怕是仅包含echo test的简单文件),都会弹出错误提示:
The filename, directory name, or volume label syntax is incorrect.
但右键以管理员身份运行该文件可正常执行,打开cmd.exe并通过./test.bat命令运行也能正常工作,推测问题与文件关联有关。
初步排查结果
- 运行
assoc命令查看ProgId,结果为:.bat=batfile
- 运行
ftype | find "batfile"查看关联的可执行程序,结果为:batfile="%1" %*
自行尝试的修改
手动修改注册表路径HKEY_CLASSES_ROOT\batfile\shell\open\command中的关联程序为:
cmd.exe /c "%1" %*
修改后问题暂时解决,但不确定该方案是否正确。
Procmon对比差异
修改为cmd.exe关联后
Event Path: *C:\Users\User\test.bat* Process Path: *C:\WINDOWS\system32\cmd.exe* Process Command: *"cmd.exe" /c "C:\Users\User\test.bat*
默认未修改状态时
Event Path: *C:\Windows\System32\"C:\Users\User\test.bat"* Process Path: *C:\WINDOWS\system32\svchost.exe* Process Command: *C:\WINDOWS\system32\svchost.exe -k netsvcs -p -s Appinfo*
咨询内容
- 该问题的正确解决方式是什么?
- 上述手动修改注册表的方案是否合理?
内容的提问来源于stack exchange,提问作者Eea Manco
相关产品推荐
相关产品推荐

