- 帖子
- 1442
- 积分
- 3193
- 技术
- 556
- 捐助
- 0
- 注册时间
- 2015-7-19
|
本帖最后由 WHY 于 2018-9-3 11:10 编辑
bat 文件右键 "以管理员身份运行" 由注册表项:HKEY_CLASSES_ROOT\batfile\shell\runas\command 控制,其默认值为:
%SystemRoot%\System32\cmd.exe /C "%1" %*
cmd 文件对应的注册表项是: cmdfile
虽然参数 %1 被引号包裹,但注册表程序会把引号脱去(如果没有空格的话),再把它当作 CMD 的参数,交给 CMD 处理。
CMD 在遇到小括弧、& 等字符的参数时,不会在参数外层自动补上引号,导致解析错误而闪退。
如果不希望修改路径或文件名,可以考虑修改对应的注册表值,再加一对双引号:
%SystemRoot%\System32\cmd.exe /C ""%1"" %*
该办法在Win10 v1803 中文专业版,Win7 sp1 中文旗舰版测试通过 |
-
2
评分人数
-
|