[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 如何读取TXT内容打开BAT,只允许打开5个,打开第6个前关闭第1个bat文件,依次类推?

本帖最后由 3518228042 于 2017-5-31 06:28 编辑

目录下有个A.TXT文件,内容为
A1.bat
A2.bat
A3.bat
A4.bat
A5.bat
A6.bat
A7.bat
A8.bat
A9.bat
……
如何间隔5秒读取一行打开一个BAT,但只允许打开5个,最好打开的的5个都隐藏窗口运行,
当打开第6个时候把第1个打开的BAT关闭,打开第7个的时候把第2个打开的BAT关闭,直至结束

试了用taskkill /f /im "cmd.exe"结果搞关闭了所有,如果是bat文件就会找不到文件

本帖最后由 ivor 于 2017-5-30 13:17 编辑
  1. $pro=1..5 ; $i=0; Get-Content .\A.txt | %{if ($i -ge 5) {stop-process -Id ($pro[$i % 5].Id)} ;$pro[$i % 5] = start -PassThru $_; $i++ ; write-host 进程池ID:($pro[0..5].Id) ;start-sleep 5}
复制代码
我就纳闷了,stop-process结束掉了程序,窗口却还在。后面人帮看看问题在哪。
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

我把exe命名其他几个名称,然后也只能一次次的打开关闭,很笨的办法,有没有好办法用taskkill处理?

TOP

本帖最后由 ivor 于 2017-6-3 11:52 编辑

回复 3# 3518228042
  1. $pro=1..5 ; $i=0; Get-Content .\A.txt | %{if ($i -ge 5) {taskkill /pid ($pro[$i % 5].Id)};$pro[$i % 5] = start -PassThru $_; $i++ ; write-host -BackgroundColor blue 进程池ID:($pro[0..5].Id) ;start-sleep 5}; foreach($p in $pro){taskkill /pid $p.Id ;start-sleep 5}
复制代码
修改了一下使用taskkill结束程序,上面是powershell代码
1

评分人数

#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

返回列表