Batch file 批处理文件:打开cmd,运行VS命令提示符,执行Makecert

Batch file 批处理文件:打开cmd,运行VS命令提示符,执行Makecert,batch-file,cmd,makecert,Batch File,Cmd,Makecert,我需要在批处理文件中执行此操作: 打开命令 通过cmd运行VS命令提示符 执行此命令 “makecert-sv SignRoot.pvk-cy authority-r sha1-a-n\'CN=Certificate\'-ss my-sr localmachine Certificate.cer” 到目前为止,我已经完成了第1步和第2步,我的问题是进入第3步 这是我到目前为止所拥有的 start cmd.exe /k "%comspec% /c "C:\Program Files (x86)

我需要在批处理文件中执行此操作:

  • 打开命令
  • 通过cmd运行VS命令提示符
  • 执行此命令 “makecert-sv SignRoot.pvk-cy authority-r sha1-a-n\'CN=Certificate\'-ss my-sr localmachine Certificate.cer”
  • 到目前为止,我已经完成了第1步和第2步,我的问题是进入第3步

    这是我到目前为止所拥有的

    start  cmd.exe /k "%comspec% /c  "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86"
    

    这是我使用VS2012安装程序和我自己的批处理文件运行打开Qt 5.0.2命令提示符所做的工作:

    C:\Windows\System32\cmd.exe /A /Q /K C:\Qt\Qt5.0.2\5.0.2\msvc2012_64\bin\qtenv2.bat & call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x64 & cd c:\tkbt\Launch2.0.0 & call SetupEnvVars.bat
    
    把我放在正确的位置,所有的环境变量都设置好了


    因此,您的问题的答案是在一个“&”

    之后追加下一个调用这就是我使用VS2012设置和我自己的批处理文件运行打开Qt 5.0.2命令提示符所做的:

    C:\Windows\System32\cmd.exe /A /Q /K C:\Qt\Qt5.0.2\5.0.2\msvc2012_64\bin\qtenv2.bat & call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x64 & cd c:\tkbt\Launch2.0.0 & call SetupEnvVars.bat
    
    把我放在正确的位置,所有的环境变量都设置好了


    因此,您的问题的答案是在“&”

    之后追加下一个调用实际上,visual studio命令提示符不是一个特殊的命令提示符,它是普通的windows CMD,但配置了一些环境变量

    要在批处理文件中产生相同的效果,您需要从visual studio安装中调用一个特殊的批处理文件来配置windows CMD

    为此,批处理文件的第一行应该是

    call "%VS120COMNTOOLS%\vsvars32.bat"
    
    然后可以调用任何特定于VisualStudio的命令


    VS120COMNTOOLS是visual studio版本的path环境变量实际上,visual studio命令提示符不是特殊的命令提示符,它是普通的windows CMD,但配置了一些环境变量

    要在批处理文件中产生相同的效果,您需要从visual studio安装中调用一个特殊的批处理文件来配置windows CMD

    为此,批处理文件的第一行应该是

    call "%VS120COMNTOOLS%\vsvars32.bat"
    
    然后可以调用任何特定于VisualStudio的命令

    VS120COMNTOOLS是visual studio版本的path环境变量