标题: [文件操作] [已解决]批处理怎样删除某文件夹下的隐藏文件(有特殊要求)? [打印本页]
作者: comicguests 时间: 2011-6-25 15:52 标题: [已解决]批处理怎样删除某文件夹下的隐藏文件(有特殊要求)?
如题,我想删除批处理所在文件夹下的
特定隐藏文件
类似这样:
批处理所在文件夹 > 根文件夹
*abcd* > 含关键词abcd的文件夹(第一层子文件夹)
*.txt > 删除后缀为txt的 隐藏 文件 (第一层子文件夹下的文件)
或者,
for /f "delims=" %%i in ('dir /ad /b /s^|sort /r') do rd /q "%%i" 2>nul
这个命令可以删除空文件夹
但文件夹内有隐藏文件夹他就不能删除了(废话)
怎样修改命令
让他可以无视隐藏文件
删除文件夹呢?
两种方法都告诉我
就太感谢了!!!!!!!
作者: Batcher 时间: 2011-6-25 16:10
给rd加个/s试试
作者: comicguests 时间: 2011-6-25 16:31
2# Batcher
所有文件夹都没了.......
作者: Batcher 时间: 2011-6-25 16:52
3# comicguests
可以考虑先把隐藏文件删掉
再用你原来的rd命令
作者: Hello123World 时间: 2011-6-27 13:16
for /f "delims=" %%i in ('dir /ad /b /s^|sort /r') do rd /q "%%i" 2>nul
这个命令可以删除空文件夹
::/q是多余的。
但文件夹内有隐藏文件夹他就不能删除了(废话)
::这点并不正确,rd可以删除隐藏的空文件夹,当然不能直接删除非空的隐藏文件夹(废话)- C:\Users\helloworld\Desktop>md hello
-
- C:\Users\helloworld\Desktop>attrib +h hello
-
- C:\Users\helloworld\Desktop>rd hello
-
- C:\Users\helloworld\Desktop>attrib -h hello
- 找不到文件 - hello
复制代码
作者: CrLf 时间: 2011-6-27 16:11
不同方法有不同的适用范围,不能指望一招鲜吃遍天
下面这个是按楼主说的改的,效率不高:- (for /f "delims=" %%i in ('dir /ad /b /s^|sort /r') do (
- dir /b "%%i"&&rd /q "%%i"||rd /q /s "%%i"
- ))2>nul
复制代码
用xcopy可能更快:- for /d %%a in (*) do (
- xcopy /e /c /r "%%a" $\
- rd "%%a"
- ren $ %%~nxa
- )
复制代码
作者: Hello123World 时间: 2011-6-27 18:20
6# zm900612
rd /q "%%i"||rd /q /s "%%i"
::莫非rd /q真还有什么我不知道的特殊功能?为什么你也这么用,rd 没/s ,/q有什么用?
作者: CrLf 时间: 2011-6-27 19:01
没有,确实是多余的,复制下来忘了去掉…
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |