![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 15:49 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结] 如何用批处将d盘里的所有扩展名为zip改为faz |
| 可打印版本 2,949 / 14 |
| 第1楼 kennyfan | 发表于 2006-10-15 00:11 |
| 中级用户 发帖 112 积分 259 | |
|
[已结] 如何用批处将d盘里的所有扩展名为zip改为faz 如何用批处将d盘里的所有扩展名为zip改为faz
系统文件和隐藏文件都要改掉 (原因:某病毒程序恶意修改exe dll zip rar等文件经杀毒后不能恢复 另本人损失惨重! 为避免下次同样事情再次发生所以还请朋友们帮帮手!) [ Last edited by kennyfan on 2006-10-15 at 01:25 ] |
|
| 第2楼 namejm | 发表于 2006-10-15 01:11 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
如果要连系统文件和隐藏文件都要改的话,就得先做去系统和隐藏属性的操作。请先测试下面的代码,如果成功了把 echo 改为 ren:
[ Last edited by namejm on 2006-10-15 at 01:15 ] |
|
| 第3楼 pengfei | 发表于 2006-10-15 01:12 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
重命名D盘所有ZIP文件为faz后缀, 要改回来请互换后缀名.
[ Last edited by pengfei on 2006-10-15 at 01:38 ] |
|
| 第4楼 kennyfan | 发表于 2006-10-15 01:14 |
| 中级用户 发帖 112 积分 259 | |
|
先谢谢namejm兄 这样好像是可行, 不过改了之后以前的系统文件跟隐藏文件就全部显示出来了!再想变为系统跟隐藏就比较麻烦!
|
|
| 第5楼 namejm | 发表于 2006-10-15 01:18 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
但是我那段代码只会修改.zip文件的系统和隐藏属性啊。如果要还原以前的属性的话,看来得做个保存文件属性的子程序,修改完之后再恢复。这个pengfei很擅长,你问他要代码吧。呵呵。
|
|
| 第6楼 kennyfan | 发表于 2006-10-15 01:20 |
| 中级用户 发帖 112 积分 259 | |
|
pengfei兄的厉害啊...问题解决了!~
非常感谢两位帮忙! [ Last edited by kennyfan on 2006-10-15 at 01:26 ] |
|
| 第7楼 pengfei | 发表于 2006-10-15 01:38 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
真的假的, 隐藏属性还没解决呢? 其实关于对文件进行属性操作后恢复原有属性在namejm兄的文件备份器里就有这样的代码, 写了一段:
[ Last edited by pengfei on 2006-10-15 at 02:13 ] |
|
| 第8楼 kennyfan | 发表于 2006-10-15 01:44 |
| 中级用户 发帖 112 积分 259 | |
|
晕晕...原来只能改变隐藏和系统文件夹里的文件!不能改ZIP本身隐藏文件啊!
|
|
| 第9楼 pengfei | 发表于 2006-10-15 01:52 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
试试7楼的代码, 可以重命名系统隐藏属性的ZIP文件, 而又不改变ZIP文件原有的属性.
这一段是恢复文件为zip的, 不防互相转换玩一玩. 看文件属性有没有改变. [ Last edited by pengfei on 2006-10-15 at 02:13 ] |
|
| 第10楼 kennyfan | 发表于 2006-10-15 01:59 |
| 中级用户 发帖 112 积分 259 | |
|
哇....哈哈........搞掂~~
虽然问题解决了..可是还是看不明白两除地方 setlocal enabledelayedexpansion if not "!note!"=="" attrib !note!"%%~dpni.rar" 里的dpni 是什么意思? |
|
| 第11楼 redtek | 发表于 2006-10-15 02:39 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
这病毒利害,连RAR都修改……
|
|
| 第12楼 GOTOmsdos | 发表于 2006-10-15 03:58 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
我给个更简单的:
(不用 tokens 、 delims) 但是不能解决保留文件原属性。如果要恢复原先的文件属性,就还要预先作个BAT来保存,以便后面还原的。 @echo off rem 如果采用相对路径方式: d: cd\ for /r %%a in (*.zip) do if exist %%a attrib -s -r -h %%a && rename %%a *.faz rem 如果采用绝对路径方式: rem for /r d: /d %%a in (.) do if exist %%a\*.zip attrib -s -r -h %%a\*.zip && rename %%a\*.zip *.faz 测试通过 [ Last edited by GOTOmsdos on 2006-10-15 at 04:01 ] |
|
| 第13楼 pengfei | 发表于 2006-10-15 08:24 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
GOTOmsdos的代码的确更简单, 但是有缺陷, 就是无法找到系统隐藏属性的文件. 而且不能保持文件的原有属性.
另外发现如果路径带空格就执行错误, 必须把%%a用引号括起来. [ Last edited by pengfei on 2006-10-15 at 08:27 ] |
|
| 第14楼 GOTOmsdos | 发表于 2006-10-15 10:44 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
1
我已试过,if exist 对系统隐藏属性的文件是照样处理的 2 没试过代间隔的的文件 |
|
| 第15楼 namejm | 发表于 2006-10-16 12:18 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
Originally posted by GOTOmsdos at 2006-10-15 10:44: 虽然单独的 if exist 语句可以探测到系统或隐藏文件,但是,用在 for 复合语句中,情况就大不一样了。在你的代码中,是先用 for 循环来探测zip文件,然后再用 if exist 来判断是否存在,而单独的for语句是没法探测到隐藏文件的,所以后面的 if exist 同样不会探测到隐藏文件。另外,if exist 语句在这个for语句中属于重复语句,可以去掉。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |