![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 13:55 |
共 48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [未结]带点畸形目录 批量 非空判断访问删除 |
| 可打印版本 15,519 / 67 |
| 第31楼 523066680 | 发表于 2008-03-09 10:44 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
那我做个炸药 挑战一下 plp626哈……如果可以一次性搞定……你一定要教我方法!
在网吧上网,做不出什么复杂的东西了……失败……不过我拿出以前的autorun多重免疫……试试看 ::应该。。。。。不会造成不良结果。适于ntfs格式的磁盘 @echo off set /p n=在这里输入建立不可删文件个数,不判断。最好是1^<n^<50___: for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do ( if exist %%a: ( %%a: &cd\ for /f "tokens=*" %%b in ('dir /a-d /b autorun.inf') do (del /a /f /q %%b) ::如果这时候还存在autorun.inf 那应该就是删不掉的文件夹了 if exist autorun.inf goto :fail md autorun.inf &cd autorun.inf for /l %%d in (1,1,%n%) do (md %%d%%d &md %%d%%d\con\) cd.. attrib autorun.inf +a +s +h +r echo y |cacls autorun.inf /p everyone:n )) :2 cls echo 是否取消? set /p in=(y/n) if /i %in%==y goto delete if /i %in%==n (exit) else (goto 2) :delete set /p m=在这里输入数字,不判断。最好是1^<n^<50___: for %%c in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do ( if exist %%c:\autorun.inf ( %%c: &cd\ echo y |cacls autorun.inf /p everyone:f cd autorun.inf for /l %%e in (1,1,%m%) do (rd %%e%%e\con\) cd.. rd autorun.inf /s /q )) exit :fail echo 可能已经建立了,或者遇见其他问题,按任意键到删除项。 pause>nul goto :2 [ Last edited by 523066680 on 2008-3-9 at 11:09 AM ] |
|
| 第32楼 slore | 发表于 2008-03-09 11:42 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
cacls设置权限和带点还是有区别。
你这里不是提供了delete? |
|
| 第33楼 523066680 | 发表于 2008-03-09 12:50 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
plp626 十楼的代码我可以删除了!但是更深层的就……得改下咯
开始的时候 没有加上 “ |find /v ”字节“ 结果cd.. 到了更上层的文件夹 导致我的其他文件被删除了……惨&现在没事了 因为是 tokens=4 所以 ,如果不是 长名字的文件夹 是不会被误删除的 应该说是判断方面的缺陷,我知识有限,下面的代码是在网吧做的 希望有人愿意优化下……小心哈,很容易误删外面文件夹的…… [ Last edited by 523066680 on 2008-3-9 at 01:11 PM ] |
|
| 第34楼 523066680 | 发表于 2008-03-09 12:56 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
看我的,只能进入三层。 不过可以删除plp626十楼的代码 =============解题错误!==浏览者请跳过======
@echo off echo.现在开始建立畸形文件夹,这里是plp626的代码 pause @echo off for %%a in (plp 626 cn dos 1 0 fdf d ret 就 是 lo aux com1 nul con pp 465 漂来漂 看 ai) do ( md %%a...\ %%a...\...\ for %%a in (con nul aux com1) do ( md %%a...\%%b\ copy *.bat "%%a...\%%b\" md %%a...\%%b\con\ ) ) cls echo. 建立完毕 pause ::\\\\\\\\\\\\\\\\\\\\\\\\开始解除、、、、、、、、、、 ::这里是我的代码,如果对付更深层的代码,就又得改下了! @echo off for /f "skip=7 tokens=4" %%a in ('dir /ad /x ^|find /v "字节"') do ( echo %%a cd %%a for /f "tokens=*" %%b in ('dir /ad /b') do ( echo %%~nb for /f "tokens=*" %%c in ('dir %%~nb\ /ad /b') do ( echo %%~nb\%%~nc\ rd %%~nb\%%~nc\ /s /q ) rd %%~nb\ /s /q ) cd.. echo %%a rd %%a /s /q ) pause [ Last edited by 523066680 on 2008-8-21 at 07:22 AM ] |
|
| 第35楼 523066680 | 发表于 2008-03-09 13:17 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
老实说我不是很相信谁能写出通用的代码
con\这层是正常文件夹\nul\a..\nul\con\aux\haha.x ……挑战极限……plp626可以做到通用的话 我会崇拜你的!!偶像!看看我31楼的代码呵!评价一下 其他高手也做一下拉……所谓无私奉献!最多限制--此贴XX积分的人才可进入 当然,不能高过我的积分…… ![]() [ Last edited by 523066680 on 2008-3-9 at 01:22 PM ] |
|
| 第36楼 slore | 发表于 2008-03-09 13:32 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
你们后面讨论的是删除全部文件夹还是无文件的?
你34楼的貌似全部文件夹都删除了? |
|
| 第37楼 523066680 | 发表于 2008-03-09 14:15 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
唉……没看清题目……
[ Last edited by 523066680 on 2009-3-18 at 03:34 ] |
|
| 第38楼 slore | 发表于 2008-03-09 14:15 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
层数你管它干嘛不是只有dir才可以看目录的。
你直接rd看看错误信息,再rd……掉。。。 |
|
| 第39楼 523066680 | 发表于 2008-03-09 14:22 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
有道理……我想到--破解autorun免疫 那里去了……
这是条水贴! |
|
| 第40楼 523066680 | 发表于 2008-03-09 15:17 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
似乎38楼的说法……我做不到……
|
|
| 第41楼 plp626 | 发表于 2008-03-09 15:30 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
25楼已经说了
复制句柄! |
|
| 第42楼 523066680 | 发表于 2008-03-09 15:47 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
病毒可能比你想得还变态,
不过再变态也能干掉,我有个思路(抛砖引玉): 用2>&1来得到畸形目录的深层路径,再用for分析路径干掉所有畸形目录应该不成问题, 2>&1 我不知道是什么来的……赐教!谢谢拉 |
|
| 第43楼 plp626 | 发表于 2008-03-09 15:51 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
正在测试,只是bug较多
|
|
| 第44楼 plp626 | 发表于 2008-03-09 16:17 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
正在精简代码,稍等....
|
|
| 第45楼 slore | 发表于 2008-03-09 16:22 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
删除plp26 10楼的。。。
我只写个测试脚本,具体自己扩展吧。 建立TEST目录,在里面建立一个plp626的那个生成脚本。运行。 在TEST目录外写下面的脚本。 @echo off rd /s /q %1\ 2>srd.log for /f %%i in (srd.log) do rd /s /q %%i\ rd /s /q %1\ 2>srd.log 把TEST文件夹拖上来就删除了。 |
|
| 上一页 1 2 3 4 5 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |