新大编程幼儿园读书第四课,用bat批处理程序通过DOS命令行删除所有的空文件夹

by admin on 2019年1月31日

用过gothub或者码云的同桌都精通,不分包其余文件的空文件夹上传提交时不被允许的。当然你可以在空文件下创建.keep文件(或.gitkeep文件),然后就可以上传了。

DOS


前情链接:

前言简介

批处理公事(batch file)包括一体系DOS命令,平常用于机动执行重复性职分。用户只需双击批处理公事便可实施职务,而无需再一次输入相同指令。编写批处理公事格外容易,但难点在于确保整个按顺序执行。编写严酷的批处理公事可以大幅度程度地节省时间,在应对重复性工作时进一步有效。在Windows中善用批处理可以简化很多再度工作 

批处理(Batch),也号称批处理脚本。顾名思义,批处理就是对某目标开展批量的处理。批处理文件的恢弘名为bat。
DOS批处理则是按照DOS命令的,用来机关地批量地实施DOS命令以落实特定操作的脚本。 

批处理是一种简化的脚本语言,它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的通令解释器(平时是COMMAND.COM或者CMD.EXE)解释运作。类似于Unix中的Shell脚本。批处理公事具有.bat或者.cmd的恢弘名,其最简便易行的例子,是逐金鼎文写在指令行中会用到的种种指令。更复杂的景况,须要利用if,for,goto等一声令下控制程序的运作进程,如同C,Basic等中高等语言一样。假如急需贯彻更复杂的施用,利用表面程序是必备的,那包含系统自身提供的外部命令和第三方提供的工具或者软件。 

批处理公事,或称为批处理程序,是由一条条的DOS命令组成的平常文书文件,能够用记事本直接编辑或用DOS命令成立,也可以用DOS下的文本编辑器Edit.exe来编排。在“命令提醒”下键入批处理公事的名号,或者双击该批处理文件,系统就会调用Cmd.exe运行该批处理程序。一般情状下,每条命令占据一行;当然也得以将多条命令用特定符号(如:&、&&、|、||等)分隔后写入同一行中;还有的气象就是像if、for等较高级的授命则要占用几行甚至几十几百行的上空。 

系统在表明运作批处理程序时,首先扫描整个批处理程序,然后从第一行代码初阶向下逐句执行所有的一声令下,直至程序结尾或遇见exit命令或出错意外退出。 

但是借使空文件夹相比较多,并且大家的确不须求这几个空文件了,那本文就学习一种命令行删除所有空文件夹的方法。并打包成.bat批处理程序。通过鼠标右键运行即可。

文件名:

持有文件都应该是全限定名,即:路径名+文件名,固然唯有文件名尚未路径名,默许为该shell所在目录。

新大编程幼儿园上学第一课——内容和出示

指令符号

批处理命令简介

echo

rem

pause

call

start

goto

set

http://xstarcd.github.io/wiki/windows/windows\_cmd\_summary\_commands.html 

批处理符号简介 

回显屏蔽 @ 

重定向1 >与>> 

重定向2 < 

管道符号 | 

转义符 ^ 

逻辑命令符包含:&、&&、||

http://xstarcd.github.io/wiki/windows/windows\_cmd\_summary\_symbols.html 

一,DOS删除命令

set title pepelu

设置cmd标题

新大编程幼儿园学习第二课——HTML、CSS和XML

文本夹管理

cd 突显当前目录名或改变当前目录。 

md 创设目录。 

rd 删除一个索引。 

dir 突显目录中的文件和子目录列表。 

tree 以图表呈现驱动器或路径的文件夹结构。 

path 为可执行文件突显或安装一个寻觅路径。 

xcopy 复制文件和目录树。 

文本管理 

type 突显文本文件的情节。 

copy 将一份或多份文件复制到另一个岗位。 

del 删除一个或数个文件。 

move 移动文件一视同仁命名文件和目录。(Windows XP Home Edition中从不) 

ren 重命名文件。 

replace 替换文件。 

attrib 呈现或改变文件属性。 

find 搜索字符串。 

fc 比较七个公文或八个文件集并呈现它们中间的例外 

网络命令 

ping 举行互连网连接测试、名称解析 

ftp 文件传输 

net 网络命令集及用户管理 

telnet 远程登陆 

ipconfig显示、修改TCP/IP设置 

msg 给用户发送信息 

arp 彰显、修改局域网的IP地址-物理地址映射列表 

系统管理 

at 布置在一定日期和岁月运作命令和次序 

shutdown立刻或定时关机或重启 

tskill 截至进度 

taskkill截止进度(比tskill高级,但WinXPHome版中无该命令) 

tasklist突显进度列表(Windows XP Home Edition中从未) 

sc 系统服务设置与操纵 

reg 注册表控制台工具 

powercfg控制种类上的电源设置

对此上述列出的拥有命令,在cmd中输入命令+/?即可查看该命令的相助音讯。如find
/?

新大编程幼儿园读书第四课,用bat批处理程序通过DOS命令行删除所有的空文件夹。Windows Batch 常用命令

1 echo 和 @ 

回显命令 

@ #关闭单行回显 

echo off #从下一行开头关闭回显 

@echo off #从行业初步关闭回显。一般批处理第一行都是以此 

echo on #从下一行伊始打开回显 

echo #展现当前是 echo off 状态照旧 echo on 状态 

echo. #出口一个”回车换行”,空白行 

#新大编程幼儿园读书第四课,用bat批处理程序通过DOS命令行删除所有的空文件夹。(同echo, echo; echo+ echo[ echo] echo/ echo)

2 errorlevel 

echo %errorlevel% 

各种命令运行截止,可以用那几个命令行格式查看再次回到码 

默许值为0,一般命令执行出错会设 errorlevel 为1

3 dir 

突显文件夹内容 

dir #呈现当前目录中的文件和子目录 

dir /a #浮现当前目录中的文件和子目录,蕴含隐形文件和系统文件 

dir c: /a:d #来得 C 盘当前目录中的目录 

dir c: /a:-d #突显 C 盘根目录中的文件 

dir c: /b/p #/b只突显文件名,/p分页突显 

dir *.exe /s #来得当前目录和子目录里有着的.exe文件

4 cd 

切换目录 

cd #进去根目录 

cd #呈现当前目录 

cd /d d:sdk #可以同时更改盘符和目录

5 md 

成立目录 

md d:abc #如果 d:a 不设有,将会活动创建中级目录 

假定命令扩充名被停用,则须要键入 mkdir abc。

6 rd 

除去目录 

rd abc #删除当前目录里的 abc 子目录,须要为空目录 

rd /s/q d:temp #除去 d:temp 文件夹及其子文件夹和文书,/q安静形式

7 del 

删除文件 

del d:test.txt #去除指定文件,不能是隐形、系统、只读文件 

del /q/a/f d:temp*.* 

剔除 d:temp
文件夹里面的具备文件,包括隐形、只读、系统文件,不包罗子目录 

del /q/a/f/s d:temp*.* 

删除 d:temp
及子文件夹里面的兼具文件,包涵隐形、只读、系统文件,不包罗子目录

8 ren 

重命名命令 

ren d:temp tmp #支撑对文本夹的重命名

9 cls 

清屏

10 type 

突显文件内容 

type c:boot.ini #突显指定文件的情节,程序文件一般会体现乱码 

type *.txt #显示当前目录里所有.txt文件的情节

11 copy 

拷贝文件 

copy c:test.txt d:test.bak 

复制 c:test.txt 文件到 d: ,仁同一视命名为 test.bak 

copy con test.txt 

从显示屏上等候输入,按 Ctrl+Z 截至输入,输入内容存为test.txt文件 

con代表显示器,prn代表打印机,nul代表空设备 

copy 1.txt + 2.txt 3.txt 

合并 1.txt 和 2.txt 的内容,保存为 3.txt 文件 

只要不点名 3.txt ,则保留到 1.txt 

copy test.txt + 

复制文件到温馨,实际上是修改了文件日期

12 title 

设置cmd窗口的标题 

title 新标题 #可以观望cmd窗口的标题栏变了

13 ver 

来得系统版本

14 label 和 vol 

安装卷标 

vol #来得卷标 

label #呈现卷标,同时提醒输入新卷标 

label c:system #设置C盘的卷标为 system

15 pause 

停顿命令

16 rem 和 :: 

诠释命令 

申明行不履行操作

17 date 和 time 

日期和岁月 

date #呈现当今天子,并提醒输入新日期,按”回车”略过输入 

date/t #只彰显当前天子,不升迁输入新日期 

time #显示当前光阴,并提示输入新时间,按”回车”略过输入 

time/t #只突显当前时刻,不升迁输入新时间

18 goto 和 : 

跳转命令 

:label #行首为:表示该行是标签行,标签行不实施操作 

goto label #跳转到指定的价签那一行

19 find (外部命令) 

查找命令 

find “abc” c:test.txt 

在 c:test.txt 文件里搜寻含 abc 字符串的行 

假如找不到,将设 errorlevel 重回码为1 

find /i “abc” c:test.txt 

摸索含 abc 的行,忽略大小写 

find /c “abc” c:test.txt 

彰显含 abc 的行的行数

20 more (外部命令) 

逐屏显示 

more c:test.txt #逐屏呈现 c:test.txt 的文书内容

21 tree 

突显目录结构 

tree d: #来得D盘的文件目录结构

22 & 

各样执行多条命令,而不管命令是还是不是实施成功

23 && 

依次执行多条命令,当遇到执行出错的命令后将不执行前边的命令 

find “ok” c:test.txt && echo 成功 

一经找到了”ok”字样,就体现”成功”,找不到就不突显

24 || 

逐一执行多条命令,当遭受执行不利的命令后将不履行后边的命令 

find “ok” c:test.txt || echo 不成功 

假使找不到”ok”字样,就突显”不成事”,找到了就不显得

25 | 

管道命令 

dir . /s/a | find /c “.exe” 

管道命令表示先实施 dir 命令,对其出口的结果实施后边的 find 命令 

该命令行结果:输出当前文件夹及所有子文件夹里的.exe文件的个数 

type c:test.txt|more 

本条和 more c:test.txt 的作用是均等的

26 > 和 >> 

出口重定向命令

27 < 

从文件中获取输入新闻,而不是从显示屏上 

貌似用来 date time label 等急需等待输入的命令 

@echo off 

echo 2005-05-01>temp.txt 

date

  1.1,删除文件命令 del

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

@echo

决定台出口新闻

新大编程幼儿园上学第三课——Mac下常用命令行介绍

  1.2,删除文件夹命令 rm

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

rem

诠释音讯

本课主题:Windows下常用命令行介绍

讲解先生:张军祥

home88一必发 1

开场

== 课程目录 ==

· 命令行的打开形式

· 环境变量

· 基本命令

· 批处理

· 其余用法

  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

一、命令行的打开方式

1.
点击显示器左下角Windows图标,接纳运行,输入cmd回车(因Windows版本的两样,有所分歧)

  1. 经过相对路径:C:\WINDOWS\system32\cmd.exe

home88一必发 2

相对路径直接打开

  1. 飞快键打开Windows+R,而后输入cmd回车

4.
可在文书夹目录状态下,按shift+点击鼠标右键,会冒出“在那里打开命令窗口”,会显得当前目录的通令行界面

home88一必发 3

当前目录的吩咐行界面打开

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

下边的代码已毕效益是批量删除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:\aaa\bbb\ccc"成功删除!
空目录"F:\aaa\bbb"成功删除!
空目录"F:\aaa"成功删除!
空目录"F:\111"成功删除!
请按任意键继续. . .

 

 

%~d0

此批处理文件所在盘符

二、环境变量

环境变量是在操作系统中一个兼有一定名字的靶子,它富含了一个或者多少个应用程序所将选取到的信息。

当须求系统运作一个顺序而尚未告诉它程序所在的总体路径时,系统除去在当前目录上面寻找此程序外,还应到path中指定的途径去找。用户通过安装环境变量,来更好地运转进程。

实例二:批量剔除七个磁盘的空文件夹

上面的代码可以去除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

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

查看环境变量:

命令:echo %path%

home88一必发 4

echo 查看

或者命令:set

home88一必发 5

set 查看

%cd%

时下CMD默许目录

安装环境变量(以便系统驾驭怎么着找到程序)

  1. set path=%path%;[程序所在的岗位]

瞩目:set path =
命令会重写整个path所以要带上原来的path并以“;”隔开,并且此命令只对当下窗口有效,关闭当前窗口后,下次仍力不从心推行。

2.
应用control命令调用控制面板->系统和达州->系统->高级系统设置

(演示暂未得逞)

set /p u=

保存从决定台输入的新闻到u中

三、基本命令

开辟目录:explorer .   explorer ..  explorer dirname

新建文件:type nul>a.txt  或者   echo .>a.txt

除去文件:del a.txt

新建文件夹: md dirname(完整写法 mkdir dirname)

去除文件夹: rd dirname(完整写法 rmdir dirname)

rd /s /q ——直接删除文件夹,无论是还是不是目录为空

查阅文件: dir dirname  或者 tree /f

tree /f 命令可显示更加直观的层级结构

home88一必发 6

tree /f  突显效果  

set u=pepelu

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

四、批处理

[Tip]  内部命令:没有环境变量匡助也可举办的指令,如cd
../等;外部命令:需环境变量

即bath file,寻常以 .bat或者 .cmd为后缀,包括一多级Dos指令的文本

作用:

批处理文件在拍卖重复性工作时,可以大幅度的节省时间

home88一必发 7

演示三个批处理公事

全部代码

@echo off
set tile pepelu
c:
cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
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 > %~dp0\a.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

批量新建文件夹:md.bat

文件内容:

@echo off

echo 本脚本用于批量创办文件夹

echo 请根据提醒输入。可以按ctrl+C退出。

home88一必发,set /p val=请输入您要监督的文书夹数:

set /a varshu=%val%-1

for /l %%i in (1,1,%val%) do md %%i

echo 文件夹创立已毕

pause

home88一必发 8

md.bat命令行界面

home88一必发 9

md.bat 运行效果

除去文件:

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

del %~dp0\*.exe

批量重命名文件:ren.bat

文件内容:

for /f “tokens=*” %%i in (‘dir /a:d /b’) do ren “%%i” “小电影%%i”

home88一必发 10

ren.bat命令行界面

home88一必发 11

ren.bat运行效果

开拓指定文件目录:

目录中间可以有空格

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根据属性拔取要刨除的文书

R 只读文件 S 系统文件
H 隐藏文件 A 存档文件

  • 表示“否”的前缀

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

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

批量删减当前目录内的具有文件夹:del.bat

文件内容:

for /f “tokens=*” %%i in (‘dir /a:d /b’) do rd %%i

home88一必发 12

del.bat命令行界面

home88一必发 13

del.bat 运行效果

批处理可以在一些批量再一次场景发挥效率,方便简化操作。

清除 DNS 缓存

ipconfig /flushdns

五、其他用法

powershell:——Windows8之上系统自带工具,相对高档的命令行工具

打开方式:Windows + R,然后输入powershell

应用了ps及kill八个指令,查看当前运行程序并基于ID号关闭指定程序,可以代替职分管理器关闭程序的职能。(当前选择的window7系统,未尝试)

拓展:

设置msys2等工具进行命令行,能够直接行使Linux命令(

home88一必发 14

msys2 界面演示

与mac的homebrew包管理连串类似,windows有pacman包管理连串,能够向来在windows安装程序——此内容作为课后展开研商。

发表评论

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

网站地图xml地图