Board logo

标题: [求助]删除文件求助 [打印本页]

作者: logopc     时间: 2008-3-29 17:45    标题: [求助]删除文件求助
我想删除文件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 ]

作者: bat-zw     时间: 2008-3-29 18:09    标题: 试试下面的吧(未测试):
要列出路径!!!假设为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 ]

作者: logopc     时间: 2008-3-29 18:24
谢谢这位高手

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

作者: bat-zw     时间: 2008-3-29 18:38    标题: 加入对空格的判断:
@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
)

作者: luckboy45     时间: 2008-3-29 19:17
呵呵,学习....

作者: abcd     时间: 2008-3-29 21:52
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
)

这个能正确执行??

作者: abcd     时间: 2008-3-29 21:54
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需要加引号,要不然不能处理带空格文件夹。

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