中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-15 13:20
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » 求一即时删除文件的批处理程序!!!
可打印版本  13,763 / 36
第16楼 NaturalJ0 发表于 2006-10-25 20:27
银牌会员 发帖 533 积分 1,181
从楼主这儿了解到个新命令,谢谢,又学到新东西了。

PS:楼主的方法是搜硬盘,我觉得效率可能不是很高,如果换成直接用 taskkill 结束 qqgame 的进程,会不会对机子的负担稍低些呢?而且为了对机子负担小些,可以设的时间稍长些。你同学玩QQ游戏时才玩个几分钟突然就莫名的退出了,几次后不明原因也就不想玩了。用 DEL 删除有很小的可能性会碰到“另一个程序正在使用此文件,进程无法访问。”
第17楼 zrz000 发表于 2006-10-25 21:07
初级用户 发帖 16 积分 44
学习了.真不错.
第18楼 tianzizhi 发表于 2006-10-25 21:34
高级用户 发帖 214 积分 623
我的贴又上来了,很开心,又能让大家学到更多的知识了.
谢谢naturaljo的指教,我这些时间已把这个批处理修改的比较人性化了,你说的那个taskkill我已加过了,现在已实现的批处理思想是,开机后运行一计划,隔三分钟检查一下硬盘里有没有qqgame.exe这个程序,没有的话就退出,有的话创建一计划,在一小时后自己执行一结束和删除与qqgame.exe有关的程序,这个结束和删除的批处理驻留的内存中,我想让他们只玩一小时就行了,也不能一会不让玩呀,毕竟是朋友么,我主要是想用这种思维来学习一下在应用中学习批处理.

[ Last edited by tianzizhi on 2006-10-25 at 09:57 PM ]
第19楼 tianzizhi 发表于 2006-10-25 21:52
高级用户 发帖 214 积分 623
我把我已应用的批处理拿上来让大家看看,高手们也指教一下,新手们学习一下,谢谢,
这个批处理分三部分:
第一部分,是开机运行一计划的部分:
首在机子创建一任务:schtasks /create /ru system /sc 3 /mo minute /tn zhang /tr d:\常用\g.vbs 创建好后这个以后就不用管了,它以后会一直在机子里的.
g.vbs连接的批处理内容为:
@echo off
schtasks /change /tn zhang /ru system /enable
schtasks /run /tn zhang

这是第一部分运行计划部分,下面是第二部分,执行检查的部分:
下面的执行部分两种写法
一:
@echo off
for %%1 in (c: d:) do @%%1 & dir QQGame.exe /s /a /b>>c:\windows\dir.txt
type c:\windows\dir.txt | find "QQGame.exe" /i
if errorlevel 1 goto end
if errorlevel 0 goto zhang

:end
exit
:zhang
@echo off

setlocal ENABLEDELAYEDEXPANSION

set /a next_hour=0
set /a next_minute=0

for /F "tokens=1,2 delims=:" %%i in ('TIME /t') do (
rem 这里1是间隔时间,可以根据需要自己调节
set /a next_minute=1%%j-100

set /a next_hour=1%%i-100+1

if !next_minute! GEQ 60 (
set /a next_minute=!next_minute!-60
set /a next_hour=!next_hour!+1
if !next_hour! GEQ 24 set /a next_hour=!next_hour!-24
)
)
schtasks /change /tn zhang /ru system /disable
copy d:\常用\dir.txt c:\windows\ /y
at !next_hour!:!next_minute! d:\常用\d.vbs

endlocal

二:@echo off
for %%1 in (c: d:) do @%%1 & dir QQGame.exe /s /a /b>>c:\windows\dir.txt
type c:\windows\dir.txt | find "QQGame.exe" /i
if errorlevel 1 goto end
if errorlevel 0 goto zhang

:end
exit
:zhang
@echo off
@echo off
setlocal ENABLEDELAYEDEXPANSION
rem 这里1是间隔时间,可以根据需要自己调节
set a=%time:~0,2%
echo %a%
set /a next_hour=a+1
set a=%time:~3,2%
if %a:~0,1%==0 (set /a next_minute=%a:~1%+1) else set /a next_minute=a+1
if %next_minute% GEQ 60 (set /a next_minute=!next_minute!-60
set /a next_hour=!next_hour!+1
if !next_hour! GEQ 24 set /a next_hour=!next_hour!-24
)
schtasks /change /tn zhang /ru system /disable
copy d:\常用\dir.txt c:\windows\ /y
at !next_hour!:!next_minute! d:\常用\d.vbs
endlocal

上面是第二部分检查的部分,下面是第三部分,到时间执行结束任务和删除程序的部分:
@echo off
:zhang
for %%1 in (c: d:) do @taskkill /f /t /im qqgame.exe & del %%1\qqgame*.* /s /a
choice /t 120 /d y
goto zhang

好了,一共就这么多了,请大家看看吧,也请高手们提出更好的建议,把它更完善一下,谢谢!!!
第20楼 kingchain 发表于 2006-10-25 22:34
初级用户 发帖 57 积分 133
搂主学习的精神值得我学下!
第21楼 NaturalJ0 发表于 2006-10-25 22:36
银牌会员 发帖 533 积分 1,181
用这句

代替

试试?(不生成临时文件 dir.txt。)

PS:你把 qqgame.exe 删了,下次再玩岂不是要重装。
第22楼 tianzizhi 发表于 2006-10-26 00:52
高级用户 发帖 214 积分 623
naturaljo上面的建议很好,简化了不少,也让我揣摩一会子,&&和||用的很好呀,对于nul空设备的用法我是不太熟悉的,你能否找些它的用法贴上好让大家看看呀,你上面的
>nul 2>nul的意思能说明白一下吗,谢谢,其实我也是菜鸟的,要多多学习呀,呵呵.
(向naturaljo解释一下,我机子是不装QQ游戏的,他们玩他们下载自己装,我的机子装了影子系统,开机游戏就没了.我不玩的,只是他们一玩就没有尾了,所有才想这用这个逗逗他们的,我现在在学批处理的,所以有了这个想法,用批处理实现,许多网友说用禁止,我也知道,这样的话我学习批处理还有什么用呢,学习它就要用它的对吧,其实我的最大目的不用禁止玩游戏,而是学习用批处理实现我的想法,学以致用.最后还要谢谢naturaljo的关心!!!!)
第23楼 NaturalJ0 发表于 2006-10-26 01:44
银牌会员 发帖 533 积分 1,181
贴段实例:


>nul 表示屏蔽标准输出
2>nul 表示屏蔽错误输出
结合上面的实例应该能看明白。
第24楼 tianzizhi 发表于 2006-10-26 04:03
高级用户 发帖 214 积分 623
明白了,谢谢!!
第25楼 bg888 发表于 2006-10-31 11:06
社区乞丐 发帖 2 积分 -128
伟大领袖毛主席说:没有解决不了问题
tianzihi的文章太好了。俺在这里找了好久都没有找到圆满在批处理中定时执行的问题,只好用VBS调用BAT,是你提到CHOICE /T,用此命令在BAT中定时是再好不过了!谢谢!
第26楼 freeskych 发表于 2006-11-08 12:03
初级用户 发帖 9 积分 22
组策略设置,禁止运行相应程序
第27楼 jasonwang 发表于 2006-11-09 06:30
初级用户 发帖 54 积分 122
是基于qqgame.exe做检测吗?有目录限制没有,象我一般都是绿色版QQGAME,你这种方法不知道可行不?
第28楼 anqing 发表于 2006-11-12 03:03
高级用户 发帖 413 积分 859
运行计化任务后,在进程里,有任务的进程吗?
关于schtasks这个命令,有没有详细的中文介绍和下载?
第29楼 jxf123521 发表于 2006-11-12 13:40
新手上路 发帖 3 积分 6
感谢楼主的贴子,让我找到了学习这个的方法!
第30楼 htysm 发表于 2007-01-24 06:30
高级用户 发帖 415 积分 866
XP已经不支持choice 这个命令了。
楼主的钻研精神实在可嘉。
上一页  1 2 3  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023