【发布时间】: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