如何在 C# Web 应用程序中 运行 命令工具 exe?
How to run a command tool exe in C# web application?
我正在使用 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文件和传递命令的方法。
应该是权限问题。
尝试将您的应用程序池中的标识调整为 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();
我正在使用 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文件和传递命令的方法。
应该是权限问题。 尝试将您的应用程序池中的标识调整为 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();