C#调用Perl脚本
2010-07-20 11:25
176 查看
代码
/// <summary>
/// Executes a process and waits for it to end.
/// </summary>
/// <param name="fileName">Full Path of process to execute.</param>
/// <param name="arguments">Command Line params of process</param>
/// <param name="workingDirectory">Process working directory</param>
/// <param name="timeout">Time to wait for process to end</param>
/// <param name="stdOutput">Redirected standard output of process</param>
/// <returns>Process exit code</returns>
public static int ExecuteProcess(string fileName, string arguments, string workingDirectory, int timeout, out string stdOutput)
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = fileName;
psi.Arguments = arguments;
psi.WorkingDirectory = workingDirectory;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = true;
using (Process process = Process.Start(psi))
{
stdOutput = process.StandardOutput.ReadToEnd();
process.WaitForExit(timeout);
return process.ExitCode;
}
}
客户端调用:
int exitCode = Util.ExecuteProcess("\"C:\\Perl\\bin\\perl.exe\"", " RouteGetter.pl ", "C:\\", 10000, out stdOutput);
/// <summary>
/// Executes a process and waits for it to end.
/// </summary>
/// <param name="fileName">Full Path of process to execute.</param>
/// <param name="arguments">Command Line params of process</param>
/// <param name="workingDirectory">Process working directory</param>
/// <param name="timeout">Time to wait for process to end</param>
/// <param name="stdOutput">Redirected standard output of process</param>
/// <returns>Process exit code</returns>
public static int ExecuteProcess(string fileName, string arguments, string workingDirectory, int timeout, out string stdOutput)
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = fileName;
psi.Arguments = arguments;
psi.WorkingDirectory = workingDirectory;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = true;
using (Process process = Process.Start(psi))
{
stdOutput = process.StandardOutput.ReadToEnd();
process.WaitForExit(timeout);
return process.ExitCode;
}
}
客户端调用:
int exitCode = Util.ExecuteProcess("\"C:\\Perl\\bin\\perl.exe\"", " RouteGetter.pl ", "C:\\", 10000, out stdOutput);
相关文章推荐
- C#调用Perl脚本
- C#调用matlab脚本
- 在C#环境中动态调用IronPython脚本(二)
- Unity 3d C#和Javascript脚本互相调用 解决方案(非原创、整理资料,并经过实践得来)
- i_e_dpi_jt_create.tcl 调用 perl脚本【BI】
- C#调用cmd 脚本实例
- 在C#中调用VBScript、JavaScript等脚本的实现
- xlua入门(3)c#调用Lua脚本
- C#调用Power Shell 管理Office365 执行脚本时遇到的问题
- 在VS2017中用C#调用python脚本
- JAVA中调用perl脚本!
- 用一个简单的perl包轻松管理脚本中的软件调用
- C# ASP.NET 后台界面加载时调用前台JavaScript脚本:Attributes.Add()
- C#调用Python脚本并使用Python的第三方模块
- 在C#中调用脚本的几种写法
- 关于使用c#调用python脚本文件,脚本文件需要传递参数
- C#(winform)调用VbScript脚本
- perl脚本调用
- 在C#中调用VBScript、JavaScript等脚本的实现
- 在WPF(C#)中调用PowerShell的脚本