[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 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

评分人数

TOP

回复 13# freesoft00


    楼主要是对这个话题感兴趣,就请亲自测试一下,然后把你测试使用的环境、数据、方法、结果分享出来呗。

TOP

返回列表