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

[系统相关] 批处理命令for循环嵌套,帮忙看看哪里不对?在线等待

通过查找5100端口找到进程PID并KILL掉它,下面这段代码可以实现没问题
  1. FOR /F "tokens=5 delims= " %%P IN ('netstat -ano | findstr 5100') DO TaskKill.exe /F /PID %%P
复制代码
可是问题来了,我如果有多个端口,我总不能每个写一行吧,比如我有5100 5200 5300,我要写三行,这太不好了.
我该如何嵌套FOR循环,依次把这三个端口都KILL掉.我尝试了一下下面的写法,但是报错,求大神们给个答案..如何改..

我是想把多个端口写到数组里,然后遍历它去取,然后依次KILL掉,可是下面的写法会报错.
  1. FOR %%I IN (5100 5200 5300) DO (
  2.     FOR /F "tokens=5 delims= " %%P IN ('netstat -ano | findstr %%I') DO TaskKill.exe /F /PID %%P
  3. )
复制代码

DAIC能帮忙解释一下吗..有点儿不懂..对BAT不太熟悉..非常感谢..

TOP

我是想知道如何我把它们放在数组里,如果嵌套循环..因为你这样的写法,如果我有五个端口乞不是要写很长..

TOP

findstr "\<5100\> \<5200\> \<5300\>",这里为什么这么写..

TOP

DAIC,我只有两个疑问,麻烦你帮我解答一下,我确实不明白.. ^| 这个地方为什么要转义,|本身就表示管道,还转义干什么. \<\>这里这么用又是为什么.. 不胜感激..

TOP

敬等你回复..谢谢..

TOP

DAIC帮忙解释一下呗,不然晚上觉都睡不好..非常感谢..

TOP

刚才查了一下大至明白了..可是就是有一点不明白 | 管道前面加个转义干什么..明明findstr就要从管道里提取数据.

TOP

刚才查了一下大至明白了..可是就是有一点不明白 | 管道前面加个转义干什么..明明findstr就要从管道里提取数据.

TOP

返回列表