![]() |
中国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: |
|
| 第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 |