[英]Execute shell command in c++
我有一個關於在c ++中執行shell命令的問題。 我正在使用Winforms和2008建立一個應用程序。我的應用程序有一個按鈕,單擊該按鈕應將二進制文件解碼為.csv文件。 我可以先解碼到正確的目錄(cd Test_Copy2),然后在命令提示符下執行命令(java -jar tool.jar -b x.fit x.csv)來解碼文件。 我嘗試了很多不同的東西,但不幸的是沒有任何東西可以工作!
我嘗試使用:
system, _popen, ShellExecute(NULL, L"open", L"C:\\WINDOWS\\system32\\cmd.exe ", L"java -jar Tool.jar -b x.fit x.csv", L"C:\\Test_Copy2", SW_SHOWNORMAL)
誰能為我提供一個有關如何執行此操作的示例? 我不知道我要去哪里錯,在大多數情況下,命令提示符會打開,但不會執行任何命令!
如果您確實想在cmd.exe實例中運行jar,則需要向cmd.exe添加正確的命令行開關之一,以使其按您希望的方式工作:
/C Carries out the command specified by string and then terminates
/K Carries out the command specified by string but remains
例如,您的命令字符串應為:
C:\\WINDOWS\\system32\\cmd.exe /c java -jar Tool.jar -b x.fit x.csv
您可以使用system()
函數執行shell命令。 例如: system("DIR")
在CMD Shell中執行DIR命令。 開始的默認目錄是.exe
文件所在的目錄。 'system(“ PAUSE”)`執行PAUSE命令。 您希望執行的命令應作為常量字符串傳遞給函數。
對於您的同類程序,語法(IMO)為:
system("java -jar Tool.jar -b x.fit x.csv")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.