【问题标题】:Running multiline command of *.cmd file from C# Code从 C# 代码运行 *.cmd 文件的多行命令
【发布时间】:2014-12-09 06:44:35
【问题描述】:

我在 E 盘 E:\1\2\Abc.cmd 中有一个文件,并在此文件中写入以下行

@:again
@..\xyz.exe  param1 param2
@goto again

xyz.exe 路径为 E:\1\xyz.exe

如果我双击 abc.cmd 那么它工作正常,但是在运行表单 C# 代码时会引发异常。说“..\xyz.exe is not recognized as internal or external commad”

我写了以下代码

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.FileName = @"E:\1\2\Abc.cmd";
process.StartInfo = startInfo;
process.Start();

【问题讨论】:

  • 当您没有从您认为调用它的目录调用命令时,您最常看到此错误。在调用 xyz.exe 之前输入一个echo %cd% 命令,然后查看您的实际位置。在调用外部程序时使用完整路径通常也是一个好主意。

标签: c# batch-file command-line cmd


【解决方案1】:

使用此代码

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.FileName = "E:\\1\\2\\Abc.cmd";
startInfo.WorkingDirectory = "E:\\1\\2\\";
process.StartInfo = startInfo;
process.Start();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 2020-10-17
    • 2019-11-08
    • 1970-01-01
    • 2016-01-17
    • 2013-04-30
    相关资源
    最近更新 更多