killmus 发表于 2011-6-10 15:55:05

这个批处理如何让它循环?

@echo off&setlocal enabledelayedexpansion
for /F "tokens=1,2" %%i in ('Tasklist /nh') do (call:hanye "%%i"
if !n! gtr 20 taskkill /f /pid %%j)
exit
:hanye
set "i=%~1"&set n=0
:guxing
if not "!i:~%n%,1!"=="" set/a n+=1&goto:guxing想达到的目的就是,当没有符合条件的进程时循环检测,当有符合条件的进程时结束进程并退出BAT

killmus 发表于 2011-6-11 11:38:47

100多人看,竟然没有一个会的{:face (229):}

nwf2011 发表于 2011-6-11 11:58:22

Dos batch 写得很有水平,看不懂

曼菲士 发表于 2011-6-11 14:47:07

本帖最后由 曼菲士 于 2011-6-11 14:51 编辑

@ECHO OFF
ECHO 查找进程%1并结束它

:Start
tasklist | find "%1" >NUL && goto Kill
echo 没有发现%1进程
goto EXIT

:Kill
echo 删除%1进程
taskkill /F /IM %1
goto Start

:EXIT


不知道是不是你要的效果,以上内容保存为 test.bat,在命令行下输入 test 1234.exe ,找到就会结束进程,找不到就退出。

xtanxin 发表于 2011-6-11 15:32:31

咋个不用AU3?要做一个批处理?

dyd 发表于 2011-6-11 18:13:35

加个循环
:start


gotostart

nwf2011 发表于 2011-6-13 11:20:07

Dos batch 写得很有水平,看不懂

nwf2011 发表于 2011-6-13 11:20:07

Dos 脚本参考,无线延时,每隔1秒查找"calc.exe",如果找到就退出
for /L %%i in (1,1,0xFFFFFFFF) do (
        ping 1.1.1.1 -n 1 -w 1000>NUL & for /f "tokens=1,2" %%p in ('tasklist /nh') do (if "%%p" =="calc.exe" taskkill /f /pid %%q & exit)   )

黑色袜子 发表于 2011-6-13 11:41:05

@echo off&setlocal enabledelayedexpansion
:start
for /F "tokens=1,2" %%i in ('Tasklist /nh') do (call:hanye "%%i"
if !n! gtr 20 taskkill /f /pid %%j && exit)
goto :start
:hanye
set "i=%~1"&set n=0
:guxing
if not "!i:~%n%,1!"=="" set/a n+=1&goto:guxing不知道你要干嘛,这个代码也不知道符不符合你的要求!

黑色袜子 发表于 2011-6-13 11:41:41

不知道你要干嘛,这个代码也不知道符不符合你的要求!
黑色袜子 发表于 2011-6-13 11:41 http://www.autoitx.com/images/common/back.gif
代码我没测试,不行就说下,我再看看!很久没玩P了!

淡定开源 发表于 2011-6-13 14:03:54

和au3没关系吧。
页: [1]
查看完整版本: 这个批处理如何让它循环?