![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-13 01:06 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS学习入门 & 精彩文章 (教学室) » 关于删除隐藏可运行文件的问题?高手请指点一下. |
| 可打印版本 1,330 / 7 |
| 第1楼 zwgxsy | 发表于 2007-11-17 12:50 |
| 初级用户 发帖 32 积分 66 | |
|
关于删除隐藏可运行文件的问题?高手请指点一下. 学校电脑病毒很多,
经常有人拿U盘到我电脑上用,又因为刚刚学习了一下FOR的语句, 所以我用"for"写了一个删除U盘隐藏的可运行文件的批处理, 但是感觉写的太复杂,所以请高手指点,谢谢!!!!!!!!! 要求只删除隐藏的可运行文件,其他文件不动. 这是我写的. @echo off for %%a in (h:) do dir /s /b %%a\*.exe >>1.txt for %%a in (h:) do dir /s /b %%a\*.bat >>1.txt for %%a in (h:) do dir /s /b %%a\*.com >>1.txt for %%a in (h:) do dir /s /b /a %%a\*.exe >>2.txt for %%a in (h:) do dir /s /b /a %%a\*.bat >>2.txt for %%a in (h:) do dir /s /b /a %%a\*.com >>2.txt for /f %%a in (2.txt) do attrib -s -h -a "%%a" for /f %%a in (1.txt) do attrib +s +h +a "%%a" for /f %%a in (2.txt) do del /s /q /f "%%a" for /f %%a in (1.txt) do attrib -s -h "%%a" del 1.txt del 2.txt chkdsk /f h: 经过改进: @echo off set /p pan=请输入移动盘的盘符,如: e f g h i...,然后按Enter确认: for /f "skip=1" %%i in ('wmic logicaldisk where "deviceid='%pan%:'" get Description 2^>nul') do set type=%%i if not defined type set type=此驱动器不存在! echo %file%:盘的类型为: %type% echo. echo 正在进行杀毒,请等待。。。。。。。。 echo. cd %pan%: for %%a in (%pan%:) do dir /s /b %%a\*.exe %%a\*.bat %%a\*.com %%a\*.cmd >>%temp%\1.txt for %%a in (%pan%:) do dir /s /b /a %%a\*.exe %%a\*.bat %%a\*.com %%a\*.cmd >>%temp%\2.txt for /f %%a in (%temp%\2.txt) do attrib -s -h -a "%%a" for /f %%a in (%temp%\1.txt) do attrib +s +h +a "%%a" for /f %%a in (%temp%\2.txt) do del /s /q /f "%%a" for /f %%a in (%temp%\1.txt) do attrib -s -h -a "%%a" del %temp%\1.txt del %temp%\2.txt 但是还是 无法解决只列出隐藏文件 如果盘里 可运行文件过多 速度将很慢 最后完成. set /p pan=请输入移动盘的盘符,如: e f g h i...,然后按Enter确认: for /f %%a in ('dir /s/b/a-dh %pan%:\*.exe %pan%:\*.bat %pan%:\*.com %pan%:\*.cmd') do attrib -s -h -r -a %%a | del /q /s /f %%a [ Last edited by zwgxsy on 2007-11-22 at 07:34 PM ] |
|
| 第2楼 hxwxyz | 发表于 2007-11-19 19:11 |
| 中级用户 发帖 123 积分 245 | |
|
for /f "tokens=*" %%I in ('"dir h: /b /ah 2>nul"') do del "%%~NI".EXE; "%%~NI".VBS; "%%~NI".INF; "%%~NI".BAT /AH /Q /F ;"%%~NI".com /AH /Q /F 2>nul
|
|
| 第3楼 zwgxsy | 发表于 2007-11-19 20:15 |
| 初级用户 发帖 32 积分 66 | |
|
楼上的好象不行啊
|
|
| 第4楼 zwgxsy | 发表于 2007-11-20 10:30 |
| 初级用户 发帖 32 积分 66 | |
|
我只想知道只列出隐藏文件的方法,有谁知道????
|
|
| 第5楼 lxmxn | 发表于 2007-11-20 14:23 |
| 版主 发帖 4,938 积分 11,386 | |
|
dir /s/b/a-dh H:\
|
|
| 第6楼 zwgxsy | 发表于 2007-11-20 20:08 |
| 初级用户 发帖 32 积分 66 | |
|
不错,还是lxmxn厉害.解决了.
|
|
| 第7楼 hxwxyz | 发表于 2007-11-24 11:45 |
| 中级用户 发帖 123 积分 245 | |
|
我的不是也可以删除隐藏的可执行文件么?
|
|
| 第8楼 zwgxsy | 发表于 2007-11-24 22:07 |
| 初级用户 发帖 32 积分 66 | |
|
把/ah /q /q 改成/ah/q/f/s 就可以了
上次不知道怎么出现了错误 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |