【发布时间】:2012-02-13 09:23:19
【问题描述】:
我正在尝试通过 C# 代码运行 perl 脚本。 perl 脚本将一个文本文件作为输入并创建两个新文件作为输出(在两者之间进行一些文本处理)。当我使用以下代码通过 C# 运行 perl 脚本时,它似乎开始执行,但没有创建文件。有什么问题?语法错误?
ProcessStartInfo perlStartInfo = new ProcessStartInfo(@"c:\Perl\bin\perl.exe");
perlStartInfo.Arguments = "c:\\Perl\\DOC-MAT.pl " + "c:\\Perl\\comb1.txt" + "c:\\Perl\\comb1.mat";
perlStartInfo.UseShellExecute = false;
perlStartInfo.RedirectStandardOutput = true;
perlStartInfo.RedirectStandardError = true;
perlStartInfo.CreateNoWindow = false;
Process perl = new Process();
perl.StartInfo = perlStartInfo;
perl.Start();
perl.WaitForExit();
string output = perl.StandardOutput.ReadToEnd();
这里,comb1.txt 是我的输入文件,comb1.mat 和 comb1.clabel 应该是 perl 代码创建的文件。
【问题讨论】:
-
1) 程序是否对
C:\Perl有写权限? 2)文件是否有可能被写入标准输出,从而写入string output?