中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 病毒预处理程序 上一主题 | 下一主题
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『楼 主』:  病毒预处理程序 使用 LLM 解释/回答一下

常规扫描时 应用文件夹中出现病毒 写了一批自用 上传以供他用


@echo off
title IUT-SRC ANTI-VIRUS V1.0
echo 病毒预处理程序 v1.0
echo.
echo.此程序可以瞬间显示系统可能潜在病毒危险 并对其手动操作处理.
:del
set a=0
echo.
setlocal enabledelayedexpansion
for /f "tokens=1-4 delims= " %%i in ('dir /s "%APPDATA%"^|find /I ".exe"') do (
set /a a+=1
set k!a!=%%l
echo : %%l %%i %%j
rem 此处%%i %%j可以用做对同一时间创建的可疑文件进行扫描的依据
)
echo.
echo 总计可执行文件 %a% 个!
if "%a%"=="0" cls&echo 提示:此文件夹中无EXE文件&pause>nul&cls&goto del
echo.
set /p n="选择删除的可疑文件代码:"
for /f "tokens=*" %%i in ('dir "%APPDATA%" /s /b /a^|find "!k%n%!"') do (
del /P "%%i"
)

set /p l="是否继续删除操作?(Y/N)"
if /I "%l%"=="Y" cls&goto del else (exit)





菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
2007-11-24 23:27
查看资料  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

TO PPods:

来啰唆几句,不要介意哈。。。

1、文件的修改日期和大小都可以用for的变量扩展(%%~ta、%%~sa)来得到,不需要用for+find,一是效率低,二是find可能“找错”;

2、可以在得到exe文件时,将完整路径赋值给一个变量,然后直接del变量,不需要删除的时候再去找一个文件在哪里;

3、del 命令最好加上几个参数,不加参数有的“顽固”文件还删除不了;

4、“goto del”之前先清空所有的变量,这样“保险”一点。


2007-11-25 05:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 3 楼』:  RE 使用 LLM 解释/回答一下

谢版主指点 此法是为以后扩展功能留有余地 有待完善

@echo off
setlocal enabledelayedexpansion
:main
title Anti-virus V1.03(cn)
echo Anti-virus Version 1.03
set b=.exe
echo.
echo.此批处理用于查找缓存 个人文档 应用文档 公共文档中的可执行程序
:main
set a=0
set c=0
for /f "tokens=2 delims==" %%i in ('set^|findstr "TEMP ALLUSERSPROFILE APPDATA USERPROFILE"') do (
for /f "tokens=1-4 delims= " %%a in ('dir /s "%%i"^|find /I "%b%"') do (
set /a a+=1
set rep!a!=%%i
set name!a!=%%d
echo %%d %%a %%b)
)
echo.
echo ^<==注意==^> 总共"%b%"文件为: %a% 个
echo.
if "%a%"=="0" cls&echo 指定文件夹中不存在%b%文件&pause>nul&cls&goto main
set /p c="更多信息请输入""内的数字:"

for /f "tokens=*" %%i in ('dir "!rep%c%!" /s /b /a^|find /I "!name%c%!"') do (
del /P "%%i"
)
set /p d="是否继续操作?(Y/N):"
if /i "%d%"=="Y" cls&goto main else (exit)




菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
2007-11-25 08:27
查看资料  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: