中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [求助]删除文件求助 上一主题 | 下一主题
logopc
初级用户





积分 32
发帖 13
注册 2005-11-29
状态 离线
『楼 主』:  [求助]删除文件求助

我想删除文件a.txt里面所有列出来的文件夹,请问如何用命令实现

a.txt里的文件格式如下,这里面显示的都是文件夹名字

aaaa
system
LOGO
ADOS
Ghost
Media
Program Files
Recycled
RECYCLER

[ Last edited by logopc on 2008-3-29 at 06:07 PM ]

2008-3-29 17:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 2 楼』:  试试下面的吧(未测试):

要列出路径!!!假设为d:/temp/
@echo off&setlocal enabledelayedexpansion
set path=d:/temp/
for /f "skip=2 tokens=*" %%i in (a.txt) do (
    rd %path%%%i /s /q >nul
)
[ Last edited by zw19750516 on 2008-3-29 at 06:16 PM ]

   此帖被 +2 点积分    点击查看详情   
评分人:【 logopc 分数: +2  时间:2008-3-29 18:42




批处理之家新域名:www.bathome.net
2008-3-29 18:09
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
logopc
初级用户





积分 32
发帖 13
注册 2005-11-29
状态 离线
『第 3 楼』:  

谢谢这位高手

[ Last edited by logopc on 2008-3-29 at 06:42 PM ]

2008-3-29 18:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 4 楼』:  加入对空格的判断:

@echo off&setlocal enabledelayedexpansion
set path=d:/temp/
for /f "delims="" skip=2 tokens=*" %%i in (a.txt) do (
    rd %path%%%i /s /q >nul
)



批处理之家新域名:www.bathome.net
2008-3-29 18:38
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 5 楼』:  

呵呵,学习....



逍遥@浪子@反病毒
2008-3-29 19:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by zw19750516 at 2008-3-29 06:38 PM:
@echo off&setlocal enabledelayedexpansion
set path=d:/temp/
for /f "delims="" skip=2 tokens=*" %%i in (a.txt) do (
    rd %path%%%i /s /q >nul
)

这个能正确执行??

2008-3-29 21:52
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by zw19750516 at 2008-3-29 06:09 PM:
要列出路径!!!假设为d:/temp/
[code]@echo off&setlocal enabledelayedexpansion
set path=d:/temp/
for /f "skip=2 tokens=*" %%i in (a.txt) do (
    rd %path%%%i /s /q > ...

skip=2没有必要,for本身就不处理空行

%path%%%i需要加引号,要不然不能处理带空格文件夹。

还有就是最好不要重新定义系统原有的变量

2008-3-29 21:54
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: