Board logo

标题: 怎样删除各盘内指定文件夹? [打印本页]

作者: ixxxxyou     时间: 2008-6-19 23:23    标题: 怎样删除各盘内指定文件夹?

想要删除各盘根目录里FOUND.*的文件夹,和%windir%里$*$文件夹
(不是文件哦,还有删除里面的全部文件)

set alldrive=c d e f g h i
for /f %%i in ('dir /ad /b %alldrive%:\^|find "found"') do rd /q/s %%i

好像FOR删不了FOUND.*的文件夹啊...
作者: lxmxn     时间: 2008-6-20 02:47
原因是%alldrive%这里使用有误,你的for命令并没有对每个磁盘进行遍历,因此失败,试试这个?
set alldrive=c d e f g h i
for %%a in (%alldrive%) do (
    for /f "delims=" %%b in ('dir /ab/b %%a:\found.*') do (
         rd /s /q "%%a:\%%b"
    )
)

for /f "delims=" %%a in ('dir /ad/b %windir%\$*$') do rd /s/q "%windir%\%%a"

作者: ixxxxyou     时间: 2008-6-20 16:47


  Quote:
Originally posted by lxmxn at 2008-6-20 02:47 AM:
原因是%alldrive%这里使用有误,你的for命令并没有对每个磁盘进行遍历,因此失败,试试这个?
[code]
set alldrive=c d e f g h i
for %%a in (%alldrive%) do (
    f ...

这个没有权限的限制吧?
作者: HAT     时间: 2008-6-20 16:57


  Quote:
Originally posted by ixxxxyou at 2008-6-20 04:47 PM:



这个没有权限的限制吧?

如果你的没有,斑竹的也没有。
作者: ixxxxyou     时间: 2008-6-20 23:33


  Quote:
Originally posted by lxmxn at 2008-6-20 02:47 AM:
原因是%alldrive%这里使用有误,你的for命令并没有对每个磁盘进行遍历,因此失败,试试这个?
[code]
set alldrive=c d e f g h i
for %%a in (%alldrive%) do (
    f ...

运行这批后..出现   参数格式不正确 - "b"    这样的提示..
就found.*文件没有删除掉
作者: HAT     时间: 2008-6-21 03:22
set alldrive=c d e f g h i
for %%a in (%alldrive%) do (
    for /f "delims=" %%b in ('dir /ad/b %%a:\found.*') do (
         rd /s /q "%%a:\%%b"
    )
)

for /f "delims=" %%a in ('dir /ad/b %windir%\$*$') do rd /s/q "%windir%\%%a"

这样可以吗?
作者: ixxxxyou     时间: 2008-6-21 19:57


  Quote:
Originally posted by HAT at 2008-6-21 03:22 AM:
set alldrive=c d e f g h i
for %%a in (%alldrive%) do (
    for /f "delims=" %%b in ('dir /ad/b %%a:\found.*') do (
         rd /s /q "%%a:\%%b"
    )
)

f ...

这个可以删除了..  但会出现"设备未就绪"
作者: ixxxxyou     时间: 2008-6-21 20:00
OK~!  知道那里出问题了
作者: ixxxxyou     时间: 2008-6-21 20:13
for /f "delims=" %%a in ('dir /ad/b %windir%\$*$') do rd /s/q "%windir%\%%a"  

这一句如果没有文件时会提示找不到文件..加了>nul 2>nul也一样显示啊??
作者: HAT     时间: 2008-6-21 20:29
你把>nul 2>nul加到哪里了?
作者: ixxxxyou     时间: 2008-6-21 20:52
for /f "delims=" %%a in ('dir /ad/b %windir%\$*$') do rd /s/q "%windir%\%%a"   >nul 2>nul
作者: moniuming     时间: 2008-6-21 21:57

for /f "delims=" %%a in ('dir /ad/b "%windir%\$*$" 1^>nul 2^>nul') do (rd /s/q "%windir%\%%a")

作者: ixxxxyou     时间: 2008-6-22 00:44
1^>nul 2^>nul中的1^和2^是什么意思啊?
作者: HAT     时间: 2008-6-22 02:16


  Quote:
Originally posted by ixxxxyou at 2008-6-22 12:44 AM:
1^>nul 2^>nul中的1^和2^是什么意思啊?

CMD/DOS下符号的作用参考
http://www.cn-dos.net/forum/viewthread.php?tid=30985&fpage=4
作者: 9634888     时间: 2008-6-22 11:37
进来学习一下。