中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 22:14
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 全盘删除指定大小的文件(含隐藏文件)namejm版主请进
可打印版本  2,442 / 16
第1楼 lyaa 发表于 2007-09-12 16:57
初级用户 发帖 17 积分 40
全盘删除指定大小的文件(含隐藏文件)namejm版主请进
下面的代码不能删除隐藏文件,怎么让它能删除隐藏文件
for /r %%a in (*.bat,*.exe) do if %%~za EQU 291032 del /q /f /a "%%a"

[ Last edited by lyaa on 2007-9-13 at 12:45 PM ]
第2楼 lyaa 发表于 2007-09-12 17:01
初级用户 发帖 17 积分 40
下面的代码可以删除隐藏的,但是不能进入子文件夹
for /f "delims=" %%a in ('dir /a ^| find "291,032"') do del /q /f /a %%a
怎样才能两全其美啊
第3楼 ThinKing 发表于 2007-09-12 17:18
中级用户 发帖 207 积分 471
dir /a/s/a-d *.bat *.exe
第4楼 lyaa 发表于 2007-09-12 18:29
初级用户 发帖 17 积分 40
没看懂,能写得完整点吗

[ Last edited by lyaa on 2007-9-12 at 09:35 PM ]
第5楼 ThinKing 发表于 2007-09-12 22:16
中级用户 发帖 207 积分 471
第6楼 lyaa 发表于 2007-09-13 09:40
初级用户 发帖 17 积分 40
还是不行耶,没有任何效果了
第7楼 wudixin96 发表于 2007-09-13 10:06
银牌会员 发帖 931 积分 1,928
删除隐藏属性文件,要先去除隐藏属性,再删除
第8楼 lyaa 发表于 2007-09-13 12:43
初级用户 发帖 17 积分 40
用超级笨的方法解决了,下面for的主代码是namejm版主以前写的,有个问题就是列出完整文件路径的时候根目录会出现问题
比如:c:\1\1\1.exe正确
c:\\abc.exe(根目录出现问题,多了一个\)
如果namejm版主版主能看见希望能帮我看看,我解决不了,所以一个一个的写了,如果是不一样的文件名称我这样就行不通了
还有就是怎样进行全盘搜索,现在只对盘有效
论坛有个代码:
http://www.cn-dos.net/forum/viewthread.php?tid=31213
for %%i in (C D E F G H) do (
for %%a in (A1 D1 T2 Y1) do (
dir /s/ad %%i:\%%a && (net share htysm_!num!=%%i:\%%a && set /a num+=1)
)
)
我开始改了一下好像也不太好用,不知道为什么
下面是代码,见笑了,写出来是希望大家能有更好的解决方案:
@echo off
echo.&echo 正在清理病毒…………

cd\
if exist windows.exe del /q /f /a c:\windows.exe
call :kill
D:
if exist windows.exe del /q /f /a c:\windows.exe
call :kill

:kill
setlocal enabledelayedexpansion
for /f "tokens=1-3*" %%i in ('dir /a-d /tc /s^|findstr ":"') do (
set var=%%i%%j%%k%%l
if "!var:~1,1!"==":" set route=!var!
if not "!route!"=="!var!" if not "%%j"=="" if "%%k" == "291,032" del /q /f /a "!route:~0,-3!\%%l" && echo "!route:~0,-3!\%%l"
)
goto:eof

[ Last edited by lyaa on 2007-9-14 at 09:31 AM ]
第9楼 flamemperor 发表于 2007-09-13 15:19
初级用户 发帖 29 积分 66
C:\.\abc.exe就可以吧
C:\1.\exe也可以吧
第10楼 lyaa 发表于 2007-09-13 16:59
初级用户 发帖 17 积分 40
Originally posted by flamemperor at 2007-9-13 03:19 PM:
C:\.\abc.exe就可以吧
C:\1.\exe也可以吧

不明白你的意思,我的意思是namejm版主那个查找文件并获得文件完整路径的脚本有bug,就是说只能正确的获取子目录里面文件的完整路径,对任意盘的根目录下的文件得到的完整路径多了一个\
第11楼 flamemperor 发表于 2007-09-13 17:27
初级用户 发帖 29 积分 66
我是新手,可能说得不对,如果错了,请原谅阿

在拼接路径的时候是不是可以加一个.

这样
C:\.\abc.exe就可以了
C:\1.\exe也可以吧
第12楼 lyaa 发表于 2007-09-14 09:33
初级用户 发帖 17 积分 40
谢谢楼上的,果然不错,这样可解决的
del /q /f /a "!route:~0,-3!.\%%l"就可以了
现在还有一个问题,就是文件夹如果带空格就无法删除,比如
del /q /f /a "c:\abc def\qwe.exe"找不到路径
第13楼 flamemperor 发表于 2007-09-14 13:54
初级用户 发帖 29 积分 66
感觉你加了""应该就能找到阿。

是不是压根就没有那个文件?
第14楼 lyaa 发表于 2007-09-14 21:14
初级用户 发帖 17 积分 40
文件肯定存在的,你可以试试,看了论坛好多帖子还是没有解决:(
第15楼 my3439955 发表于 2007-09-15 00:43
中级用户 发帖 99 积分 272
中毒了吧?
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023