![](/img/trans.png)
[英]“No module named fcntl” when py script run from c# but works from windows command line
[英]Command line process not working when run from C#
我正在嘗試上傳文件,然后使用服務器端進程進行轉換。
這是在ASP.NET開發服務器localhost:8638上運行的Visual Studio Web ASP.NET Web應用程序的一部分
string fn = System.IO.Path.GetFileNameWithoutExtension(File1.PostedFile.FileName);
Process p = new Process();
p.StartInfo.WorkingDirectory = Server.MapPath("/Data");
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "soffice --headless --invisible -convert-to pdf "+fn+".ppt";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
p.WaitForExit();
我可以手動打開Data
目錄中的cmd.exe
,然后輸入這個命令,替換文件名,它就可以了。 但是,運行此代碼不會產生任何結果
我錯過了什么,或做錯了什么?
你不能只把所有東西都傳遞給cmd。 您需要使用/ C參數,該參數將使用這些命令打開命令提示符,並在完成運行該命令時終止它。 嘗試將您的參數更改為
StartInfo.Arguments = "/C soffice --headless --invisible -convert-to pdf "+fn+".ppt";
另一種解決方案是簡單地運行流程(如SLaks的評論中所述)。 將p.StartInfo.FileName
更改為相應的可執行文件,編輯您的參數,您應該很高興。 這應該是首選方法,因為它可以更直接地執行您想要的操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.