mg娱乐电子4355_mg娱乐电子游戏平台
做最好的网站

用bat批处理程序通过DOS命令行删除所有的空文件夹

时间:2019-10-30 18:38来源:计算机操作
用过gothub或者码云的同学都知道,不包含任何文件的空文件夹上传提交时不被允许的。当然你可以在空文件下创建.keep文件(或.gitkeep文件),然后就可以上传了。 DOS 但是如果空文件夹

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

DOS


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

文件名:

所有文件都应该是全限定名,即:路径名+文件名,如果只有文件名没有路径名,默认为该shell所在目录。

一,DOS删除命令

set title pepelu

设置cmd标题

  1.1,删除文件命令 del

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

@echo

控制台输出信息

  1.2,删除文件夹命令 rm

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

rem

注释信息

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

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

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

 

choice /c 12 M:"enter your choice"

  1. /c:选项列表
  2. 12:1或者2两个选项
  3. M:"enter your choice":提示信息
  4. if判断部分:先判断标签最大的选项
IF ERRORLEVEL 2 GOTO INITX86    
IF ERRORLEVEL 1 GOTO INIT
:INITX86
ECHO INIT x86
GOTO END
:INIT
ECHO INIT 64BIT
GOTO END
:END

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

下面的代码实现功能是批量删除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"成功删除!
请按任意键继续. . .

 

 

%~d0

此批处理文件所在盘符

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

下面的代码可以删除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地址切换的时候,提交上传再也不用纠结一个一个排除空目录的苦恼啦。

 

%~dp0

此批处理文件所在文件目录

编辑:计算机操作 本文来源:用bat批处理程序通过DOS命令行删除所有的空文件夹

关键词: