中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 21:40
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]删除文件求助 查看 741 回复 6
楼 主 [求助]删除文件求助 发表于 2008-03-29 17:45 ·  中国 广东 深圳 南山区 电信
初级用户
积分 32
发帖 13
注册 2005-11-29 17:08
20年会员
UID 46179
状态 离线
我想删除文件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 ]
2 试试下面的吧(未测试): 发表于 2008-03-29 18:09 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
要列出路径!!!假设为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 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
logopc +2 2008-03-29 18:42
批处理之家新域名:www.bathome.net
3 发表于 2008-03-29 18:24 ·  中国 广东 深圳 南山区 电信
初级用户
积分 32
发帖 13
注册 2005-11-29 17:08
20年会员
UID 46179
状态 离线
谢谢这位高手

[ Last edited by logopc on 2008-3-29 at 06:42 PM ]
4 加入对空格的判断: 发表于 2008-03-29 18:38 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
@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
5 发表于 2008-03-29 19:17 ·  中国 江苏 无锡 宜兴市 电信
中级用户
★★
积分 487
发帖 212
注册 2007-04-01 08:22
19年会员
UID 83597
性别 男
状态 离线
呵呵,学习....
6 发表于 2008-03-29 21:52 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
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
)

这个能正确执行??
7 发表于 2008-03-29 21:54 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
Originally posted by zw19750516 at 2008-3-29 06:09 PM:
要列出路径!!!假设为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 > ...

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

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

还有就是最好不要重新定义系统原有的变量
论坛跳转: