c#程序中的终端命令不工作
本文关键字:命令 工作 终端 程序 | 更新日期: 2023-09-27 18:06:58
我在c#应用程序中调用控制台程序,但它不起作用。
我正在尝试通过c#调用pdf工具包。
当我使用命令提示符运行pdftk时,将创建输出文件(new.pdf)。当c#调用pdftk时,它不会出错,但它不能工作。
我在c#中调用错了吗?
c# Call: (Not working)System.Diagnostics.Process.Start(pdfTKPath, pdftkArgs);
Console.Write(pdfTKPath + pdftkArgs);
Console.ReadLine();
// Here's the string that the console outputs.
// pdftk.exe C:'Users'name'Desktop'assignment1'assignment1'data'temp'test_cropped.pdf stamp C:'Users'name'Desktop'assignment1'assignment1'data'temp'test_footer.pdf output C:'Users'name'Desktop'assignment1'assignment1'data'temp'new.pdf
CMD提示呼叫: (Works Fine)
C:'Users'name>pdftk.exe c:'Users'name'Desktop'assignment1'assignment1'data'temp'test_cropped.pdf stamp c:'Users'name'Desktop'assignment1'assignment1'data'temp'test_footer.pdf output c:'Users'name'Desktop'assignment1'assignment1'data'temp'new.pdf
C:'Users'name>pdftk.exe
是错误的请使用以下格式:
C:'Users'name'pdftk.exe
还有,你逃跑了吗
'
符号?这是必需的,如果你是硬编码路径在应用程序
可能pdftk.exe不在路径中。尝试调用exe,指定它的完整路径。
首先我会检查是否创建了一个进程,如果它有一个错误
var processo=System.Diagnostics.Process.Start(pdfTKPath, pdftkArgs);
Console.Write("process created: "+processo.ExitCode);
这不起作用的原因是先前方法所发生的处理尚未完成。
在此之前的方法使用鬼脚本创建裁剪的PDF文件。该方法在没有鬼脚本完成工作的情况下被唤起。因此,该方法不认为文件存在(因为它们不存在)。我设置这个方法在开始前等待2秒,它工作得很好。这使得之前的方法有时间完成。