中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 16:11
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何实现每次开机时删附D盘下多余的文件夹
可打印版本  2,478 / 8
第1楼 enty2008 发表于 2006-05-06 17:42
新手上路 发帖 1 积分 6
[求助]如何实现每次开机时删附D盘下多余的文件夹
本来D盘里在的有的文件夹:Lgames , Ngames,游戏菜单 这三个文件夹。如何用批处理实现每次开机时删附D盘下多余的文件夹及里面的内容呢?

[ Last edited by willsort on 2006-5-11 at 17:21 ]
第2楼 Wengier 发表于 2006-05-06 23:36
系统支持 发帖 10,521 积分 27,736
这个帖子应发在 DOS批處理 & 腳本技術(批處理室) 版块中,故现将其转过来。
第3楼 3742668 发表于 2006-05-07 11:50
荣誉版主 发帖 718 积分 2,013
首先,用dir /ad /b 将目录名提取出来,然后利用findstr /v把不删除的目录过滤,最后用for对列表进行遍历操作。

注意:
1.在findstr的查找字符串中若包含中文字符,需要加上/i参数。
2.考虑到文件夹名中可能包含空格,所以for /f要指定tokens=*,以及rd命令调用%%i的时候要加上引号。
3.在将某命令的输出作为for的循环条件时,最好在括号内的单引号里面再加一对双引号,可以避免显视地进行字符转义以及可能出现的问题。
第4楼 tigerpower 发表于 2006-05-07 17:15
中级用户 发帖 99 积分 377
有一种特殊的情况,就是d:\下恰好有一个类似于"第二游戏菜单"的文件夹。
要是能处理这种情况就更完美了。
第5楼 3742668 发表于 2006-05-07 17:31
荣誉版主 发帖 718 积分 2,013
RE tigerpower:
可以在调用findstr时加上/x参数,如果文件夹名指定错误就会误删掉不该删除的文件夹,如果用于以目录名来交互的脚本中,慎。
第6楼 dawnerlee 发表于 2006-05-09 20:39
新手上路 发帖 4 积分 8
学习
好深奥的说
第7楼 tigerpower 发表于 2006-05-09 21:12
中级用户 发帖 99 积分 377
楼主要注意的是,原来三个文件夹名字必须没有空格才行。
第8楼 kingljp 发表于 2006-05-10 01:02
初级用户 发帖 29 积分 80
Originally posted by 3742668 at 2006-5-7 11:50:
首先,用dir /ad /b 将目录名提取出来,然后利用findstr /v把不删除的目录过滤,最后用for对列表进行遍历操作。
第9楼 3742668 发表于 2006-05-10 13:44
荣誉版主 发帖 718 积分 2,013
Re tigerpower:
可以好好看看findstr /?,并非不可实现。
我想这贴并非主要讨论findstr怎么过滤字符,楼主已经指明了3个文件夹的名称了,如果有兴趣就过滤字符的话题讨论的话请开个新贴。
Re kingljp:
分辨哪个文件该删哪个不该删用的是:dir d: /ad /b | findstr /i /v "Lgames Ngames 游戏菜单",由于楼主指定这三个文件夹不删除,所以只要在列表中删除这三个文件夹名就行了,剩下的都是该删的。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023