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

时间:2019-10-07 06:47来源:操作系统
用过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

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

%cd%

当下CMD暗中同意目录

set /p u=

保存从决定台输入的音信到u中

set u=pepelu

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

完全代码

@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

新建文件:

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

除去文件:

删除当前文件夹下以exe为后缀名的文书

del %~dp0*.exe

开发钦命文件目录:

目录中间能够有空格

explorer DirectoryName

DirectoryName : 要展开的公文夹路线名

地址:
https://github.com/amorypepelu/Pepelu

del F:_desktop.ini /f /s /q /a (F代表你要操作的盘符,即便是C盘就把F改成C)
强制删除F盘下全体目录内(包涵X盘本人)的_desktop.ini文件同期不提示是或不是删除。
/f 表示强制删除文件
/s表示子目录都要删减该文件
/q表示无声,不升迁
/a依照属性采取要刨除的文书

Sportage 只读文件 S 系统文件
H 遮蔽文件 A 存档文件

  • 表示“否”的前缀

例:
删除F盘下及其子目录下的持有钦定文件
del F:/*.pdb /f /s /q /a (删除F盘下的装有后缀名称为pdb的文本)

rd 删除文件夹(非空)
rd /s fileName 删除文件夹
rd /s /q fileName 删除文件夹,不提问

清除 DNS 缓存

ipconfig /flushdns

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

关键词:

  • 上一篇:没有了
  • 下一篇:没有了