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

实例一: 批量(循环)删除钦赐目录下全数空文件夹

上边包车型大巴代码完毕效果与利益是批量删除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"成功删除!
请按任意键继续. . .

 

 

新建文件:

type > %~dp0a.txt
//or
echo a 2>FileName

“2”表示错误输出的句柄,此例中没错误输出,所以创设了未曾内容的空文件。
骨子里>私下认可都以重定向了句柄1,即行业内部输出句柄。比如cd.>a.txt,其实正是cd.
1>a.txt。
一致,句柄3到9也足以运用在本例中,它们是未经定义的句柄,也不会有出口,如
echo a 3>a.txt
http://bits00.iteye.com/blog/1585651
http://www.pstips.net/working-with-files-and-directories.html

一,DOS删除命令

DOS


  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

可是只要空文件夹比相当多,并且大家实在不供给那些空文件了,那本文就学习一种命令行删除全体空文件夹的不二等秘书诀。并封装成.bat批管理程序。通过鼠标右键运营就能够。

set u=pepelu

设置u的值为pepelu
输出时用:echo %u%
%为转义字符

  1.1,删除文件命令 del

若是想删除文件,输入del
盘符名:文件名,举个例子,小编想删除三个在F盘的名称为123.txt的文本,则输入
 del f:123.txt 
按回车就能够去除该文件了。当然,该命令只好删除文件,不可能去除文件夹。若要用该命令删除二个文书夹,会展现找不到文件123.txt。

rem

评释消息

  1.2,删除文件夹命令 rm

假诺想删除文件夹,输入rd
盘符名:文件夹名称,举例,小编想删除八个在D盘的名称为wo的公文夹,则输入
 rd d:wo
 那样就能够去除文件夹了。当然这种删除方法必须要该文件夹是空文件夹,否则删除不了。

文件名:

抱有文件都应当是全限定名,即:路线名+文件名,倘使唯有文件名尚未路线名,默以为该shell所在目录。

实例二:批量刨除三个磁盘的空文件夹

上面包车型客车代码可以去除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地址切换的时候,提交上传再也不用纠缠一个一个免去空目录的烦闷啦。

 

set /p u=

保留从决定台输入的音讯到u中

用过gothub也许码云的校友都领悟,不带有别的公文的空文件夹上传提交时不被允许的。当然你能够在空文件下创立.keep文件(或.gitkeep文件),然后就足以上传了。

完全代码

@echo off
set tile pepelu
c:
cd C:Program Files (x86)Microsoft Visual Studio 14.0VC
rem add choice
echo CHOICE SYSTEM BIT:
ECHO 1.64BIT
ECHO 2.32BIT
choice /c 12 /M:"enter your choice:"
IF ERRORLEVEL 2 GOTO INITX86
IF ERRORLEVEL 1 GOTO INIT
:INITX86
ECHO INIT x86
CALL vcvarsall x86
GOTO END
:INIT
ECHO INIT 64BIT
CALL vcvarsall
GOTO END
:END
%~d0
cd %~dp0
cls
echo input file name...
set /p fileName=
echo switch file type...
ECHO 1.C++
ECHO 2.C
CHOICE /C 12 /M:"ENTER YOUR CHOICE"
IF ERRORLEVEL 2 GOTO C
IF ERRORLEVEL 1 GOTO CPLUS
:C
ECHO THIS IS JUST FOR C
SET FILETYPE=.c
GOTO END
:CPLUS
ECHO THIS IS JUST FOR C++
SET FILETYPE=.cpp
GOTO END
:END
REM set /p fileType=
rem add choice
cl /EHsc %fileName%%FILETYPE%
%fileName%
pause

发表评论

电子邮件地址不会被公开。 必填项已用*标注