中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 21:42
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 终于实现了名单列表 准确调用!
可打印版本  827 / 5
第1楼 PPdos 发表于 2006-12-30 11:19
高级用户 发帖 268 积分 783
终于实现了名单列表 准确调用!
@echo off
echo [A]查找文件选项
echo.
set /p "a=输入可疑文件名称:"
dir c:\ /s /b /a:|find /i /N "%a%">list.txt
dir d:\ /s /b /a:|find /i /N "%a%">>list.txt
:before
cls&echo [B]删除文件选项
type list.txt
set /p b="输入[]内编号:"
if %b% lss 10 (set w=3) else if %b% lss 100 (set w=4) else if %b% lss 1000 (set w=5) else if %b% lss 10000 (set w=6) else if %b% lss 100000 (set w=7) else if %b% lss 1000000 (set w=8) else if %b% lss 10000000 (set w=9)
findstr /C:"[%b%]" list.txt>del.txt
:: /O 匹配行前字符偏移量 /N 所在行编号
SETLOCAL ENABLEDELAYEDEXPANSION
set /p c=<del.txt
del /p "!c:~%w%!"
goto before
第2楼 namejm 发表于 2006-12-30 11:22
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  请楼主说说这个批处理具体有什么作用,以方便理解。
第3楼 PPdos 发表于 2006-12-30 11:42
高级用户 发帖 268 积分 783
我是用来搜索病毒程序 .dll .exe .tmp .com...
通过选择 标签 直接删除 dir列表中的某个文件 关键点是最后的变量延迟
第4楼 zh159 发表于 2006-12-30 11:51
金牌会员 发帖 1,467 积分 3,687
那个变量延迟经常用^_^
第5楼 PPdos 发表于 2006-12-30 12:10
高级用户 发帖 268 积分 783
我昨天弄了一晚上都没有睡觉呢~~`
这个问题本来是 来自于手懒~~~

本来想~ 如果能在dir /b /s列表中看到的路径前加 上标签 直接选择 A B这样来

删除发现的可疑文件该多方便啊 后来就这样子做了个框架~ 如果谁可以在不产生

新文件的情况下完成此操作 那就要大费脑袋了 我用more做成功一部分 也就是直

接把 结果追加到批处理尾部 通过more 的+n 但是不知道怎么把批处理还原成 操

作前的样子~ 还有那个set /p var=<a.txt 只能导入其中的一行不知道有没其他

好方法 最麻烦的就是截取变量的验证与偏移值 哎 几次都差点上来求救 还好我喜

欢琢磨 哇哈哈~ 终于可以睡觉了

还有reg query 下的参数怎么那么少 直接读出来的值都找不到位置...加上去改良

成 DOS杀毒机~@@~
第6楼 electronixtar 发表于 2006-12-30 13:11
铂金会员 发帖 2,672 积分 7,493

做了个框架

凭这句话,顶~
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023