作者:logopc | 时间:2008-03-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-03-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-03-29 18:24
谢谢这位高手
[ Last edited by logopc on 2008-3-29 at 06:42 PM ]
作者:bat-zw | 时间:2008-03-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-03-29 19:17
呵呵,学习....
作者:abcd | 时间:2008-03-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-03-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需要加引号,要不然不能处理带空格文件夹。
还有就是最好不要重新定义系统原有的变量