中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 23:34
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 关于删除隐藏可运行文件的问题?高手请指点一下. 查看 1,329 回复 7
楼 主 关于删除隐藏可运行文件的问题?高手请指点一下. 发表于 2007-11-17 12:50 ·  中国 福建 厦门 电信
初级用户
积分 66
发帖 32
注册 2007-10-23 09:54
18年会员
UID 100513
性别 男
状态 离线
学校电脑病毒很多,
经常有人拿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 发表于 2007-11-19 19:11 ·  中国 江西 南昌 电信
中级用户
★★
积分 245
发帖 123
注册 2007-06-08 09:04
19年会员
UID 90636
性别 女
状态 离线
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 发表于 2007-11-19 20:15 ·  韩国 LG
初级用户
积分 66
发帖 32
注册 2007-10-23 09:54
18年会员
UID 100513
性别 男
状态 离线
楼上的好象不行啊
4 发表于 2007-11-20 10:30 ·  中国 福建 厦门 电信
初级用户
积分 66
发帖 32
注册 2007-10-23 09:54
18年会员
UID 100513
性别 男
状态 离线
我只想知道只列出隐藏文件的方法,有谁知道????
5 发表于 2007-11-20 14:23 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
dir /s/b/a-dh H:\
6 发表于 2007-11-20 20:08 ·  韩国 LG
初级用户
积分 66
发帖 32
注册 2007-10-23 09:54
18年会员
UID 100513
性别 男
状态 离线
不错,还是lxmxn厉害.解决了.
7 发表于 2007-11-24 11:45 ·  中国 江西 南昌 电信
中级用户
★★
积分 245
发帖 123
注册 2007-06-08 09:04
19年会员
UID 90636
性别 女
状态 离线
我的不是也可以删除隐藏的可执行文件么?
8 发表于 2007-11-24 22:07 ·  韩国 LG
初级用户
积分 66
发帖 32
注册 2007-10-23 09:54
18年会员
UID 100513
性别 男
状态 离线
把/ah /q /q 改成/ah/q/f/s 就可以了

上次不知道怎么出现了错误
论坛跳转: