使用c / c ++中的检查函数编译Windows NT命令行代码循环[复制]

问题描述 投票:-2回答:1

这个问题在这里已有答案:

批处理文件代码如下:

:continue
start myfile.exe 
tasklist /FI "IMAGENAME eq myfile.exe" 2>NUL | find /I /N "myfile.exe">NUL
if "%ERRORLEVEL%"=="0" goto :exit
goto :continue
exit:

我试着写c并编译它。

include < stdlib.h >
int main()
{
  system(":continue
start myfile.exe 
tasklist /FI "IMAGENAME eq myfile.exe" 2>NUL | find /I /N "myfile.exe">NUL
if "%ERRORLEVEL%"=="0" goto :exit
goto :continue
:exit");
  return 0;
}

但它没有用。出了什么问题?

windows command-line batch-file c++ c
1个回答
2
投票

system()函数用于运行单个二进制文件。您的批处理脚本不是单独的二进制文件 - 它是批处理命令处理器指令的列表。

我能看到的最简单的解决方案是将批处理脚本保存到.BAT file中,然后使用如下系统命令:

system("C:\Windows\cmd.exe /s C:\path\to\your\file.bat");
© www.soinside.com 2019 - 2024. All rights reserved.