none
bat文件所在位置含有左半英文括号“(”时执行异常 RRS feed

  • 问题

  • 背景描述:

    工作需要,要使用certmgr.exe程序向系统注册一个crt文件

    将该动作写成了一个bat脚本,需要的时候右键以管理员身份运行该bat脚本即可(win10中直接双击没有权限,需要以管理员身份运行)

    脚本内容如下:

    "C:\Program Files\EsafeNet\Cobra DocGuard Client\server\certmgr.exe" -add "C:\Program Files\EsafeNet\Cobra DocGuard Client\server\server.crt" -c -s -r localMachine AuthRoot

    故障描述:

    经过多番检查发现,右键以管理员身份运行脚本,当bat脚本文件的所在位置路径中包含有英文状态下的左半个括号“(”的时候,该脚本执行失败,执行过程会一闪而过,即使在脚本中增加pause语句仍然会一闪而过。

    例如,异常时脚本的所在路径:F:\Shared\0000000000000000\V3.8S_Client(SSL-outlook)\BIN\server\cert.bat

    把这个左括号“(”去掉以后,脚本执行正常,脚本中的命令也执行正常

    补充说明:

    win7/win10中,以管理员身份运行脚本时会一闪而过执行失败

    win7中直接双击,脚本能够执行成功,crt文件可以正常注册

    win10中直接双击,脚本可以执行,但里面的注册命令会执行失败,提示Error: Failed to open the destination store,这个应该是权限不够的原因


    2020年7月8日 6:29

答案