我正在创建一个.bat文件来编译.tex文件到pdf,当我直接运行它.bat文件它工作正常,但当我在c#中运行它时错误“pdflatex:invalid argument”appers
static void ExecuteCommand()
{
Process p1 = new Process();
p1.StartInfo.FileName = @"c:\users\miguelangel\documents\visual studio 2013\Projects\PruebaLatex\PruebaLatex\batch.bat";
p1.StartInfo.Arguments =@"c:\users\miguelangel\documents\visual studio 2013\Projects\PruebaLatex\PruebaLatex\prueba.tex";
p1.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p1.StartInfo.RedirectStandardOutput = true;
p1.StartInfo.UseShellExecute = false;
try
{
p1.Start();
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
请帮助我:(,我不知道还能做什么,这是.bat文件
pdflatex prueba.tex
暂停
答案 0 :(得分:2)
由于目录名中有空格,因此需要将它们用引号括起来
p1.StartInfo.FileName = @"\"c:\users\miguelangel\documents\visual studio 2013\Projects\PruebaLatex\PruebaLatex\batch.bat\"";
p1.StartInfo.Arguments =@"\"c:\users\miguelangel\documents\visual studio 2013\Projects\PruebaLatex\PruebaLatex\prueba.tex\"";
或者在运行之前将工作目录更改为 c:\ users \ miguelangel \ documents \ visual studio 2013 \ Projects \ PruebaLatex \ PruebaLatex 。