彩世界平台-彩世界时时app-彩世界开奖app苹果下载

热门关键词: 彩世界平台,彩世界时时app,彩世界开奖app苹果下载

您的位置:彩世界平台 > 网站首页 > 批处理删除空文件夹

批处理删除空文件夹

发布时间:2019-10-05 09:23编辑:网站首页浏览(120)

    用过gothub或者码云的同学都知道,不包含任何文件的空文件夹上传提交时不被允许的。当然你可以在空文件下创建.keep文件(或.gitkeep文件),然后就可以上传了。

    实现代码:

    但是如果空文件夹比较多,并且我们确实不需要这些空文件了,那本文就学习一种命令行删除所有空文件夹的方法。并封装成.bat批处理程序。通过鼠标右键运行即可。

    复制代码 代码如下:

    一,DOS删除命令

    @echo off
    for /f "tokens=*" %%a in ('dir /b /ad /s "目标文件夹"^|sort /r') do rd "%%a" 2>nul
    pause
    goto :eof
    @echo off
    for /f "delims=" %%i in ('dir /ad /b /s') do call :rd_dir_empty "%%i"
    goto :eof

      1.1,删除文件命令 del

    若是想删除文件,输入del 盘符名:文件名,比如,我想删除一个在F盘的名为123.txt的文件,则输入  del f:123.txt  按回车就能删除该文件了。当然,该命令只能删除文件,不能删除文件夹。若要用该命令删除一个文件夹,会显示找不到文件123.txt。

    rem ======= 删除空目录 =========
    :rd_dir_empty
    rd %1 2>nul||goto :eof
    set dir_route=%1
    for /f "delims=" %%i in (%dir_route%) do (
    set dir_route="%%~dpi"
    for /f "delims=" %%j in ('dir /ad /b "%%~dpi"')do rd "%%~dpi%%j" 2>nul||goto :eof
    )
    :: 把路径最后的去掉,以便set route_deepest="%%~dpi"能取到上一层路径
    if "%dir_route:~-2,1%"=="" set dir_route="%dir_route:~1,-2%"
    if /i not "%cd%"==%dir_route% call :rd_dir_empty %dir_route%
    goto :eof

      1.2,删除文件夹命令 rm

    若是想删除文件夹,输入rd 盘符名:文件夹名称,比如,我想删除一个在D盘的名为wo的文件夹,则输入  rd d:wo  这样就能删除文件夹了。当然这种删除方法必须要该文件夹是空文件夹,不然删除不了。

    第一步:进入Windows的MS-DOS窗口(Windows 2000/XP叫命令行提示符),进入要查找空文件夹的驱动器,执行: 
      dir /ad/b/s | sort /r >empties.bat。 
      小提示    

      1.3,文件夹和文件一起删除

    若是想将文件夹和文件一起删除,输入rd /s /q 盘符名:文件夹名,这样会将文件夹和它里面的文件一起删除。比如,我想删除一个在F盘的名为wo的文件夹和它里面的名为123.txt的文件,输入:  rd /s /q f:wo  即可。

    注意:删除文件之前备份,不要将有用文件删除!

     

    复制代码 代码如下:

    实例一: 批量(循环)删除指定目录下所有空文件夹

    下面的代码实现功能是批量删除F:盘下的所有空文件夹:

    @echo off
    for /f "delims=" %%a in ('dir /ad /b /s F:^|sort /r') do (
       rd "%%a">nul 2>nul &&echo 空目录"%%a"成功删除!
    )
    pause
    

    可以复制以上代码粘贴到文本文档,然后修改文件名后缀.txt修改为.bat保存,鼠标右键点击打开即运行(或者以管理员身份运行)。我测试结果如下:

    空目录"F:aaabbbccc"成功删除!
    空目录"F:aaabbb"成功删除!
    空目录"F:aaa"成功删除!
    空目录"F:111"成功删除!
    请按任意键继续. . .
    

     

     

    上面命令行中“|”的输入方法是按住Shift键按“”键。  

    实例二:批量删除多个磁盘的空文件夹

    下面的代码可以删除c  d e f 中所有的空文件夹:

    @echo off
    for %%i in (c d e f) do (
       if exist %%i: (
          for /f "delims=" %%a in ('dir /ad /b /s "%%i:"^|sort /r') do (
             rd "%%a"
          )
       )
    )
    pause
    

    注意,以上命令会批量删除c d e f盘下所有的空目录,时间可能会长一点,请耐心等待。

     

    好了,有了这个批处理程序,以后做整个项目的SVN或git地址切换的时候,提交上传再也不用纠结一个一个排除空目录的苦恼啦。

     

      第二步:命令运行后,当前目录下会生成一个Empties.bat文件,其中包含了逆序排列的所有文件夹的清单。用Word或记事本打开该文件,把每一行内容分别放入一对英文引号之内,然后在每一行前面插入“rd ”前缀(rd后加一个空格)。 

    本文由彩世界平台发布于网站首页,转载请注明出处:批处理删除空文件夹

    关键词:

上一篇:没有了

下一篇:没有了