如何从C#执行命令

本文关键字:执行 命令 | 更新日期: 2023-09-27 18:26:26

我正在尝试执行c#windows表单应用程序中的代码。

 string cmdCode = "/C mogrify -crop 590x389+116+102! D:''Backup''Images''*.TIF";
 System.Diagnostics.Process.Start("CMD.exe", cmdCode);

但它没有做它应该做的事?

当我在命令行中键入代码时,该代码完美地完成了任务。我已经试着改变这条路了。我将tif文件与MyApp.exe文件放在一起,并将cmdCode更改为

cmdCode = "/C mogrify -crop 590x389+116+102! *.TIF"; 

没有成功。。它很快出现在黑色命令提示符上,然后就消失了。

我还试着把代码放在一个文件中,并使用扩展名.bat来运行它,但仍然没有成功!!有什么建议吗?

感谢

如何从C#执行命令

尝试用/K替换/C选项。这不会解决您的问题,但应该可以防止命令提示符消失,并允许您查看提示符是否显示任何错误。

由于某种原因,您传递给CMD.exe的PATH也可能与默认情况下使用的PATH不同。使用/K选项启动cmd.exe后,您还应该能够发出echo%PATH%命令,看看您得到了什么。

删除cmd.exe部分,将mogrify.exe的路径放在那里,并用"-crop…"启动参数,删除/C

如果您传递包含空格的路径名,则需要用引号将路径括起来,因此参数如下所示:

"-crop"590x389+116+102''"''"+YourPathHere+"''";