向Visual Studio的开发人员命令提示符发送参数

本文关键字:命令提示符 参数 Visual Studio 开发 | 更新日期: 2023-09-27 18:18:00

我无法将一些参数传递给vs的Dev cmd提示符,我可以使用经典cmd但不是这个。我需要它是因为我想从可执行文件中执行codeduitest。

下面是我的代码:
String Path = @"C:'ProgramData'Microsoft'Windows'Start Menu'Programs'Microsoft Visual Studio 2012'Visual Studio Tools'Developer Command Prompt for VS2012.lnk";
ProcessStartInfo proc = new ProcessStartInfo();
proc.FileName = Path;
proc.UseShellExecute = true;
proc.Arguments =  @"/c MSTest/h";
Process.Start(proc);

它启动,但没有插入参数,我做错了什么?

EDIT 1 -这些都不工作

Process.Start(Path, @"/c "+"MSTest/h"); - err : invalid path - in dev cmd prompt

Process.Start(Path, @"/c ""MSTest/h"); -  err: invalid path - in dev cmd prompt

Process.Start(Path, @"/c MSTest/h"); - nothing

Process.Start(Path, "/c MSTest/h"); -nothing

Process.Start(Path,  "MSTest/h");  -nothing

编辑2 -这是我的最终代码看起来像,部分工作,dev cmd启动,但没有办法解析参数到它,因为任何参数我传递他们直接到cmd而不是dev-cmd

// ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", @"%comspec% /k ""C:'Program Files (x86)'Microsoft Visual Studio 11.0'Common7'Tools'VsDevCmd.bat""");
            ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", @"%comspec% /k ""C:'Users'butoiu.edward'Desktop'VsDevCmd1.bat");            
            procStartInfo.UseShellExecute = false;
           // procStartInfo.Arguments = "/k MSTest";
            Process proc = new Process();
            proc.StartInfo = procStartInfo;
            proc.Start();

            proc.WaitForExit();

向Visual Studio的开发人员命令提示符发送参数

你试过这种方法吗?

    void OpenWithArguments()
    {
        Process.Start("IExplore.exe", "www.northwindtraders.com");
        Process.Start("path to exe", "argument");
    }

FMI MSDN LINK

更新:

我假设它会这样工作…但不确定

打开sys默认的cmd提示符。并给出第一个参数作为批处理文件路径(C:'Program Files (x86)'Microsoft Visual Studio 11.0'Common7'Tools'VsDevCmd.bat),并给出一个空格并添加下一个属性。

Process.Start("Path to EXE", "arg1 arg2")

link "文件实际上是visual studio CMD提示符的链接。代替此位置,您可以尝试位于"C:'Program Files (x86)'Microsoft Visual Studio 10.0'VC'vcvarsall.bat"的原始文件

String Path = @"C:'Program Files (x86)'Microsoft Visual Studio 10.0'VC'vcvarsall.bat";
ProcessStartInfo proc = new ProcessStartInfo();
proc.FileName = Path;
proc.UseShellExecute = true;
proc.Arguments =  @"/c MSTest/h";
Process.Start(proc);