簡體   English   中英

從程序執行批處理文件

[英]execute a batch file from a program

我想從程序(exe文件)執行批處理文件。 我通常在執行程序(exe文件)時創建批處理文件。 並將execl(“ START”,“”,NULL);

該函數正在調用批處理文件,但是不幸的是,由於execl函數正在進程START並解析為“ cmd.exe / k”,因此會顯示新的命令窗口。

您能否分享最簡單的方法來在后台調用執行批處理文件的功能,如果可能的話,請分享代碼段。

不要使用start而是使用cmd /c

預計到達時間:正如Chris Jester-Young在評論中指出的那樣,

execlp("cmd", "/c", batchfile, static_cast<char*>(0))

在您的代碼中。

ETA 2:看來您甚至不需要在那里的cmd 僅批處理文件作為命令就足夠了。 由於start work和startcmd.exe的內置命令,因此必須有一個cmd實例正在運行,原始調用才能正常工作。 因此,只要像執行程序一樣執行批處理文件,就足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM