[英]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和start
是cmd.exe
的內置命令,因此必須有一個cmd
實例正在運行,原始調用才能正常工作。 因此,只要像執行程序一樣執行批處理文件,就足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.