繁体   English   中英

在C ++中执行Shell命令

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM