您的位置:澳门新葡8455最新网站 > 澳门新葡8455最新网站 > 用bat批管理程序通过DOS命令行删除全体的空文件

用bat批管理程序通过DOS命令行删除全体的空文件

发布时间:2019-10-07 09:06编辑:澳门新葡8455最新网站浏览(142)

    用过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依照属性选拔要删减的公文

    Wrangler 只读文件 S 系统文件
    H 遮掩文件 A 存档文件

    • 表示“否”的前缀

    例:
    剔除F盘下及其子目录下的具备内定文件
    del F:/*.pdb /f /s /q /a (删除F盘下的有着后缀名叫pdb的文书)

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

    清除 DNS 缓存

    ipconfig /flushdns
    

    本文由澳门新葡8455最新网站发布于澳门新葡8455最新网站,转载请注明出处:用bat批管理程序通过DOS命令行删除全体的空文件

    关键词: