bat 如何控制打开CMD数量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat 如何控制打开CMD数量相关的知识,希望对你有一定的参考价值。
实际情况是有一个bat根据一个文本文件的的IP做为参数,文本文件里是很多行的IP地址,现在能实现读一行打开一个窗口执行完毕后再读一样再执行,这样效率太低,我想只要cmd的进程少于10就同时打开多个达到10了就停下来等待待检查进程少于10了比如9了再开一个,少于8了就开2个,这样能实现吗?现在是串行我想并行直接start如果量太多的话怕电脑受不了。
@echo off&SetLocal ENABLEDELAYEDEXPANSION
set Num=0
set Count=5
rem 上面是限制数量
for /f "delims=" %%a in ('tasklist ^| findstr /i "cmd.exe" 2^>nul') do set /a Num+=1
set /a Count+=%Num%
rem 上面是实际数量因为可能开了别的用途的进程包括自己
for /l %%i in (1,1,50) do (
call :t1
echo 任务正在运行中......
start /min xs.bat
ping 127.0.0.1 -n 2 >nul
cls
)
:t1
echo 正在核查进程数......
set Num=0
for /f "delims=" %%a in ('tasklist ^| findstr /i "cmd.exe" 2^>nul') do set /a Num+=1
if %Num% GEQ %Count% (
cls
echo 进程数超出限制
endlocal
ping 127.0.0.1 -n 2 >nul
call :t1
) else cls
endlocal&goto:eof
关键是如何控制窗口的数量
参考技术B @echo off:begin
for /f "tokens=1 delims=:" %%i in ('tasklist /fi "imagename eq cmd.exe"^|findstr /n .') do set /a n=15-%%i
for /l %%i in (1,1,%n%) do start /min xs.bat
ping 127.0.0.1 -n 2 >nul
cls
goto begin
写个bat 脚本 打开cmd 并指向某个目录
如题,打开后要求在cmd窗口中指向要求的目录。
不会写 谢谢各位
打开cmd并指向某个目录的bat脚本:
cipher ——显示或更改 NTFS 分区上的目录(文件)的加密。
defrag ——启动磁盘碎片整理程序。
edit ——启动DOS下的文本编辑程序,在XP中也有保留。
expand ——WINDOWS中自。
带的解压程序,可以把安装盘中文件名以_结尾的文件解压,NT系列的安装就是在DOS下用这个对文件进行解压后进行排序安装的。
EXTRACT或extrac32 ——对CAB文件进行解压缩的程序,现在都用WINRAR,所以这个功能没什么保留价值了。
makecab ——制作CAB压缩包的程序,对启动盘的制作倒很有用处。
msg ——可以将消息发送给同网用户的程序,格式是[MSG 对方机器名 信息](不包括中括号)。
ping ——可以检测网络的运行状态的程序,从WINDOWS时代开始就有了。
proxycfg ——设置代理用的程序。
regsvr32 ——服务注册程序,一般是插件的注册,也可以是解码器。
reg或regedit ——注册表操作程序,有时候在BAT、CMD脚本中可以用这个参数进行注册表的修改操作。
shutdown ——关机程序,可以在一定范围内控制一台或者一个局域网里所有机器的关机时间等。
systeminfo ——查看系统当前配置情况的参数,也可以显示出运行时间等。
TASKKILL ——进程删除程序,这个可以关闭至少一个进程。
tasklist ——查看当前进程列表的程序。
参考技术A0艾希恩写的命令没错,但我估计,你是要实现打开一个CMD窗口,里面的路径为指定的,但不退出窗口,对吧?
那就在bat文件中写到
cmd /k "cd /d F:\\123"这样就在运行后直接定位到F:\\123
追问好的 去试试
本回答被提问者和网友采纳 参考技术B 用cd命令。例:cd D:\123\a追问
不行的 我要的是脚本啊
参考技术C start cmd.exe"C:
cd \Users\MiracleToday\Desktop"
以上是关于bat 如何控制打开CMD数量的主要内容,如果未能解决你的问题,请参考以下文章