如何在c# web应用程序中运行命令工具exe

本文关键字:运行 命令 工具 exe 应用程序 web | 更新日期: 2023-09-27 17:49:40

我使用graphicmagic exe使用命令提示符执行命令。我已经在我的应用程序根文件夹中添加了graphicmagic exe。我想执行这个exe并通过c#传递参数。如何做到这一点?我试过下面的代码:

方法:1

Process proc = new Process
{
    StartInfo = new ProcessStartInfo
    {
         FileName = AppDomain.CurrentDomain.BaseDirectory + "''gm1.3.5''gm",
         Arguments = "convert -define dpx:colorspace=rgb -define tiff:bits-per-sample=16 'D:''Image''FFv1''dpx1''1.dpx' 'D:''Image''FFv1''tiff1''1.tiff'",
         UseShellExecute = false,
         RedirectStandardOutput = true,
         CreateNoWindow = true
    }
}

方法:2

Process proc = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = @"D:'Executable'Projects'MMF'gm1.3.5'gm";
startInfo.Arguments = "convert -define dpx:colorspace=rgb -define tiff:bits-per-sample=16 '"D:''Image''FFv1''dpx1''1.dpx'" '"D:''Image''FFv1''tiff1''1.tiff'"";
proc.StartInfo = startInfo;
proc.Start();

但是两个都不起作用。请建议一种执行exe文件和传递命令的方法

如何在c# web应用程序中运行命令工具exe

应该是特权问题。尝试将你的应用程序池中的标识调整为LocalSystem。

这个运行正常:

using System.Diagnostics;
Process p = new Process();
p.StartInfo.FileName = @"D:'Executable'Projects'MMF'gm1.3.5'gm.exe";
p.StartInfo.Arguments = "convert -define dpx:colorspace=rgb -define tiff:bits-per-sample=16 '"C:''Documents and Settings''software''Desktop''DPX_Test''3.dpx'" '"C:''TEMP_21May2015103216''3.tiff'"";
p.Start();                
p.WaitForExit();