[英]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.