[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理怎样删除某文件夹下的隐藏文件(有特殊要求)?

如题,我想删除批处理所在文件夹下的
特定隐藏文件

    类似这样:
                                             批处理所在文件夹       >      根文件夹

                                              *abcd*       >       含关键词abcd的文件夹(第一层子文件夹)

                                                *.txt         >       删除后缀为txt的     隐藏     文件  (第一层子文件夹下的文件)


或者,
            
for /f "delims=" %%i in ('dir /ad /b /s^|sort /r') do rd /q "%%i" 2>nul
这个命令可以删除空文件夹
但文件夹内有隐藏文件夹他就不能删除了(废话)
怎样修改命令
让他可以无视隐藏文件
删除文件夹呢?


两种方法都告诉我
    就太感谢了!!!!!!!

给rd加个/s试试
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

2# Batcher


所有文件夹都没了.......

TOP

3# comicguests


可以考虑先把隐藏文件删掉
再用你原来的rd命令
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

for /f "delims=" %%i in ('dir /ad /b /s^|sort /r') do rd /q "%%i" 2>nul
这个命令可以删除空文件夹
::/q是多余的。
但文件夹内有隐藏文件夹他就不能删除了(废话)
::这点并不正确,rd可以删除隐藏的空文件夹,当然不能直接删除非空的隐藏文件夹(废话)
  1. C:\Users\helloworld\Desktop>md hello
  2. C:\Users\helloworld\Desktop>attrib +h hello
  3. C:\Users\helloworld\Desktop>rd hello
  4. C:\Users\helloworld\Desktop>attrib -h hello
  5. 找不到文件 - hello
复制代码

TOP

不同方法有不同的适用范围,不能指望一招鲜吃遍天
下面这个是按楼主说的改的,效率不高:
  1. (for /f "delims=" %%i in ('dir /ad /b /s^|sort /r') do (
  2. dir /b "%%i"&&rd /q "%%i"||rd /q /s "%%i"
  3. ))2>nul
复制代码
用xcopy可能更快:
  1. for /d %%a in (*) do (
  2.    xcopy /e /c /r "%%a" $\
  3.    rd "%%a"
  4.    ren $ %%~nxa
  5. )
复制代码
1

评分人数

TOP

6# zm900612
rd /q "%%i"||rd /q /s "%%i"

::莫非rd /q真还有什么我不知道的特殊功能?为什么你也这么用,rd 没/s ,/q有什么用?

TOP

没有,确实是多余的,复制下来忘了去掉…

TOP

返回列表