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#程序中的终端命令不工作

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秒,它工作得很好。这使得之前的方法有时间完成。