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


  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
)

这个能正确执行??
作者: abcd     时间: 2008-3-29 21:54


  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需要加引号,要不然不能处理带空格文件夹。

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