大家好,感谢邀请,今天来为大家分享一下bat执行多条cmd命令的问题,以及和bat批处理文件的用法的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
一、C语言中如何连续执行多条CMD命令
1、bool ConsoleCompiler(char* ch)
2、 std::ofstream fout("CBStudy.cmd");
3、 fout<<"@echo off\nset PATH="<< CBS_vcbin<<";%PATH%\nset INCLUDE="<<CBS_include
4、<<"\nset LIB="<< CBS_lib<<"\ncolor a\n@echo欢迎使用命令行VC2010编译器中文版你可以使用TAB自动补全\ncl\ncd \\mycpp\n";
5、 fout<<"@echo off\nset PATH="<< CBS_gccbin<<";%PATH%\ncolor a\n@echo欢迎使用命令行 GCC编译器中文版你可以使用TAB自动补全\ng++-v\ncd \\mycpp\n";
6、 char szCommandLine[]="cmd/k CBStudy.cmd";
7、 STARTUPINFO si={ sizeof(si)};
8、 si.dwFlags= STARTF_USESHOWWINDOW;//指定wShowWindow成员有效
9、 si.wShowWindow= TRUE;//此成员设为TRUE的话则显示新建进程的主窗口,
10、 NULL,//不在此指定可执行文件的文件名
11、 FALSE,//指定当前进程内的句柄不可以被子进程继承
12、 CREATE_NEW_CONSOLE,//为新进程创建一个新的控制台窗口
13、 NULL,//使用本进程的驱动器和目录
二、cmd命令怎么同时运行两个命令
1、cmd k表示cmd后面的命令执行完后不关闭窗口如果要在执行完成后关闭窗口可以用c详细请使用cmd?查看 quot命令1命令2quot将要执行的多条命令使用引号全部包起来,并且在命令间用分隔如果只有一条命令则不用。
2、有先后顺序的,理论上也不能同时运行你说的是批处理吧,把所有命令放在批处理文件里,让它挨个运行或者两个以上的批处理运行,也许就是你说的那个意思,同时在执行不同的命令,但其实还是有前后顺序的。
3、for l%%i in 1,1,10 do start quotquot cmd k ping。
4、java的RuntimegetRuntimeexeccommandStr可以调用执行cmd指令,exe或者批处理程序下面是调用批处理代码的例子你只需要修改quotDpublicbatquot为你要执行的程序就可以了或者修改runexec的参数为你所需执行的命令。
5、你的目的是传文件还是cmd命令啊如果只是传文件,有好多其他方法,比如使用文件传送如果一定要用dos命令,可以使用copy命令 DOS下传输文件必要要求对方共享,共享了的可以使用对方机器名或者IP地址共享名进行访问,无。
6、两个代码同时运行,直接“代码1代码2”即可。
三、如何在bat/cmd中在一个选项内,再嵌套一个选项
对提问标题内容感觉没什么需要解答的,"嵌套"嘛你已经做到了。
对于bat批处理,注意理解每条命令的语法以及它是会顺序执行的就没什么疑问了,剩下的是多练习积累经验体会。
1 if命令加参数/i可以忽略大小写的见 if/?
2类似 if"%choose%" neq"A""B""a""b" goto A0如果你是想判断除了a b之外(包括大小写)执行
goto A0那么这种写法是不行的一般来说可以串起来写
if/i"%choose%" neq"a" if/i"%choose%" neq"b" goto A0
当然,如果是想排除更多列举内容,这样会使代码显得很“繁杂”,可以利用别的命令手段达到精简代码的目的如:
set/p choose=请输入选项代码字母:
echo%choose%|findstr/i"[a-cq]">nul&&goto:f%choose%
rem这里利用顺序执行特点,符合条件的都goto开了,能执行此处命令的就只有不合条件的了
四、如何制作一个批处理打开多个cmd窗口分别执行命令
使用批处理打开多个cmd窗口分别执行命令的方法
一、新建一个txt文本,把文件名称改成'.bat'结尾,如:testbat.bat,命令如图:
1、命令使用start命令打开 cmd窗口,具体参数意义见结尾附录
2、/K:是让命令执行完仍然显示cmd窗口。
3、每个CMD窗口要运行的命令,用“”标记起来,分行用&&
二、上面的例子效果是,同时打开2个CMD窗口,分别ping两个IP。
启动一个单独的窗口运行指定的程序或命令。
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE|/SHARED]
[/LOW|/NORMAL|/HIGH|/REALTIME|/ABOVENORMAL|/BELOWNORMAL]
[/NODE<NUMA node>] [/AFFINITY<hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
"title"在窗口标题栏中显示的标题。
B启动应用程序,但不创建新窗口。应用程序已忽略 ^C处理。
除非应用程序启用 ^C处理,否则 ^Break是唯一可以中断
I新的环境将是传递给 cmd.exe的原始环境,而不是当前环境。
SEPARATE在单独的内存空间中启动 16位 Windows程序。
SHARED在共享内存空间中启动 16位 Windows程序。
LOW在 IDLE优先级类中启动应用程序。
NORMAL在 NORMAL优先级类中启动应用程序。
HIGH在 HIGH优先级类中启动应用程序。
REALTIME在 REALTIME优先级类中启动应用程序。
ABOVENORMAL在 ABOVENORMAL优先级类中启动应用程序。
BELOWNORMAL在 BELOWNORMAL优先级类中启动应用程序。
NODE将首选非一致性内存结构(NUMA)节点指定为十进制整数。
AFFINITY将处理器关联掩码指定为十六进制数字。进程被限制在这些
当/AFFINITY和/NODE结合时,会对关联掩码进行不同的解释。
指定关联掩码,正如 NUMA节点的处理器掩码正确移动到零位
起始位置一样。进程被限制在指定关联掩码和 NUMA节点之间的
那些通用处理器上运行。如果没有通用处理器,则进程被限制在
WAIT启动应用程序并等待它终止。
如果它是内部 cmd命令或批文件,则该命令处理器是使用
cmd.exe的/K开关运行的。这表示运行该命令之后,该窗口
如果它不是内部 cmd命令或批文件,则它就是一个程序,并将
作为一个窗口化应用程序或控制台应用程序运行。
parameters这些是传递给 command/program的参数。
注意:在 64位平台上不支持 SEPARATE和 SHARED选项。
通过指定/NODE,可按照利用 NUMA系统中的内存区域的方式创建进程。例如,
可以创建两个完全通过共享内存互相通信的进程以共享相同的首选 NUMA节点,
从而最大限度地减少内存延迟。如有可能,它们即会分配来自相同 NUMA节点的
内存,并且会在指定节点之外的处理器上自由运行。
这两个进程可被进一步限制在相同 NUMA节点内的指定处理器上运行。在以下
示例中, application1在节点的两个低顺序处理器上运行,而 application2
在该节点的其后两个处理器上运行。该示例假定指定节点至少具有四个逻辑
处理器。请注意,节点号可更改为该计算机的任何有效节点号,而无需更改关联
启动/NODE 1/AFFINITY 0x3 application1.exe
启动/NODE 1/AFFINITY 0xc application2.exe
如果命令扩展被启用,通过命令行或 START命令的外部命令
将文件名作为命令键入,非可执行文件可以通过文件关联调用。
(例如,WORD.DOC会调用跟.DOC文件扩展名关联的应用程序)。
关于如何从命令脚本内部创建这些关联,请参阅 ASSOC和
执行的应用程序是 32-位 GUI应用程序时,CMD.EXE不等应用
程序终止就返回命令提示符。如果在命令脚本内执行,该新行为
如果执行的命令行的第一个符号是不带扩展名或路径修饰符的
字符串"CMD","CMD"会被 COMSPEC变量的数值所替换。这
如果执行的命令行的第一个符号没有扩展名,CMD.EXE会使用
PATHEXT环境变量的数值来决定要以什么顺序寻找哪些扩展
名。PATHEXT变量的默认值是:.COM;.EXE;.BAT;.CMD
请注意,该语法跟 PATH变量的一样,分号隔开不同的元素。
查找可执行文件时,如果没有相配的扩展名,看一看该名称是否
与目录名相配。如果确实如此,START会在那个路径上调用
Explorer。如果从命令行执行,则等同于对那个路径作 CD/D。
关于bat执行多条cmd命令,bat批处理文件的用法的介绍到此结束,希望对大家有所帮助。