c语言下如何使用system()同时执行多条cmd指令

时间:2022-06-01 20:36:31
以下为出错的代码:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    while(1)
    {
    system("cd C:\\Program Files\\Internet Explorer&&iexplore.exe");
    }
    
    return 0;
}

运行时,控制台窗口提示"Internet Explorer不是内部或外部命令...",但如果把system()里的指令去掉多余的\,粘贴到cmd里执行,又能做到打开ie窗口。这段代码应该怎么修改才能达到不断打开ie的效果?

4 个解决方案

#1


楼主, 我用你的代码是可以正常打开IE浏览器的

#2


     system("cd  /d C:\\Program Files\\Internet Explorer&&iexplore.exe");

#3


引用
这段代码应该怎么修改才能达到不断打开ie的效果?
 
system("cd C:\\Program Files\\Internet Explorer && iexplore.exe");

这行代码可以打开ie,报错原因不清楚,有可能是拼写的问题?

但这个问题的要害是用这种方式更换的工作目录,仅仅是依附在Console窗口进程下,而不是真正的改变工作目录。
听起来有点不好理解,直观的运行结果是这样的:

每次只能打开一个IE窗口,关闭IE后,才会打开另一个IE窗口。

如果想达到楼主想要的效果,可以用下面的代码:

#include <Windows.h> //必须包含这两个头文件
#include <shellapi.h>

int main(void)
{
    while(1)
    {
            ShellExecute(NULL, "open", "C:\\Program Files\\Internet Explorer\\iexplore.exe", 
NULL, NULL, SW_SHOWNORMAL);
    }
    return 0;
}

#4


ShellExecute(NULL,"open","C:\\Program Files\\Internet Explorer\\iexplore.exe",NULL,NULL,SW_SHOWNORMAL); 不能搞恶作剧

#1


楼主, 我用你的代码是可以正常打开IE浏览器的

#2


     system("cd  /d C:\\Program Files\\Internet Explorer&&iexplore.exe");

#3


引用
这段代码应该怎么修改才能达到不断打开ie的效果?
 
system("cd C:\\Program Files\\Internet Explorer && iexplore.exe");

这行代码可以打开ie,报错原因不清楚,有可能是拼写的问题?

但这个问题的要害是用这种方式更换的工作目录,仅仅是依附在Console窗口进程下,而不是真正的改变工作目录。
听起来有点不好理解,直观的运行结果是这样的:

每次只能打开一个IE窗口,关闭IE后,才会打开另一个IE窗口。

如果想达到楼主想要的效果,可以用下面的代码:

#include <Windows.h> //必须包含这两个头文件
#include <shellapi.h>

int main(void)
{
    while(1)
    {
            ShellExecute(NULL, "open", "C:\\Program Files\\Internet Explorer\\iexplore.exe", 
NULL, NULL, SW_SHOWNORMAL);
    }
    return 0;
}

#4


ShellExecute(NULL,"open","C:\\Program Files\\Internet Explorer\\iexplore.exe",NULL,NULL,SW_SHOWNORMAL); 不能搞恶作剧