bigcool 当前离线
列兵
@echo off&setlocal enabledelayedexpansion for /F "tokens=1,2" %%i in ('Tasklist /nh') do (call:hanye "%%i" if !n! gtr 20 ntsd -c q -p %%j) exit :hanye set "i=%~1"&set n=0 :guxing if not "!i:~%n%,1!"=="" set/a n+=1&goto:guxing复制代码
评分人数
CrLf 当前离线
论坛巡查
TOP
forfiles 当前离线
少将
@echo off setlocal enabledelayedexpansion set kill=0 :loop for /F "tokens=1,2" %%i in ('Tasklist /nh') do ( call :hanye "%%i" if !n! gtr 20 ( ntsd -c q -p %%j set kill=1 ) ) if !kill! equ 0 ( ping -n 10 127.1 >nul goto :loop ) goto :eof :hanye set "i=%~1" set n=0 :guxing if not "!i:~%n%,1!"=="" ( set /a n+=1 goto :guxing )复制代码
回复 CrLf 用进程名的话,应该是ntsd -c q -pn "process.exe" 吧? apang 发表于 2012-6-26 22:16
那个代码看起来是老寒初学时搞出来的...博客里的? 修改如下: CrLf 发表于 2012-6-26 21:38
apang 当前离线
上将
@echo off for /F delims^=^" %%i in ('Tasklist /nh /fo csv') do ( rem 以双引号为分隔符,解析以 csv 格式输出的进程列表 set ProName=%%i rem 获取进程名,存储于变量 ProName setlocal enabledelayedexpansion rem 开启变量延迟 if "!ProName:~20!" neq "" ntsd -c q -p "!ProName!" rem 如果变量 ProName 长于 20 字符,则调用 ntsd 命令结束它 endlocal rem 与 setlocal 对应的命令,在此处还用于关闭变量延迟 ) pause复制代码
cutebe 当前离线
上尉
poter 当前离线
二级士官
weichenxiehou 当前离线