![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 20:21 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 全盘删除指定大小的文件(含隐藏文件)namejm版主请进 |
| 可打印版本 2,432 / 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: 不明白你的意思,我的意思是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 |