用来自动地批量地执行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"成功删除!
请按任意键继续. . .

 

 

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

五、其他用法

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

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

使用了ps及kill两个命令,查看当前运行程序并根据ID号关闭指定程序,可以替代任务管理器关闭程序的功能。(当前使用的window7系统,未尝试)

拓展:

安装msys2等工具拓展命令行,可以直接使用Linux命令(

图片 1

msys2 界面演示

与mac的homebrew包管理系统类似,windows有pacman包管理系统,可以直接在windows安装程序——此内容作为课后拓展讨论。

文件夹管理

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 /?

Windows Batch 常用命令

1 echo 和 @ 

回显命令 

@ #关闭单行回显 

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

@echo off #从本行开始关闭回显。一般批处理第一行都是这个 

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

echo #显示当前是 echo off 状态还是 echo on 状态 

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

#(同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

主要是利用Windows的脚本功能来计算要删除文件的截止日期,然后for加dir命令来提取文件的日期进行判断。
关于forfiles和for的详细信息,可以在Windows的帮助与支持中找到。

一,DOS删除命令

清除 DNS 缓存

ipconfig /flushdns

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

文件内容:

for /f "tokens=*" %%i in ('dir /a:d /b') do rd %%i

图片 2

del.bat命令行界面

图片 3

del.bat 运行效果

批处理可以在一些批量重复场景发挥作用,方便简化操作。

命令符号

批处理命令简介

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 

删除当前目录下28天以前的扩展名为bkf文件(以当前系统时间为基准)
forfiles 自动删除7天前文件 delete2008-09-12 15:01
用forfiles.exe试试。

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

打开指定文件目录:

目录中间可以有空格

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 删除文件夹,不提问

批量新建文件夹:md.bat

文件内容:

@echo off

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

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

set /p val=请输入您要监理的文件夹数:

set /a varshu=%val%-1

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

echo 文件夹创建完成

pause

图片 4

md.bat命令行界面

图片 5

md.bat 运行效果

前言简介

批处理文件(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命令或出错意外退出。 

公司服务器用来备份数据的硬盘过段时间就会被备份文件占满,弄得我老是要登录到服务器去手工删除那些老的文件,有时忘记了就会导致硬盘空间不足而无法备份。
因为只要保留最近几天的备份,如果可以做一个批处理让系统自动删除老备份文件就好了,但是Windows的命令行和Linux的Shell比起来功能差了很多,到底行不行我自己也不清楚。
于是上网查了一下各位大虾发的帖子,再经过自己的摸索和尝试,发现只要花点功夫还是能实现这个功能的。
Windows Server 2003内置的命令行文件,适合于XP以上系统
示例:

  1.1,删除文件命令 del

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

set title pepelu

设置cmd标题

批量重命名文件:ren.bat

文件内容:

for /f "tokens=*" %%i in ('dir /a:d /b') do ren "%%i" "小电影%%i"

图片 6

ren.bat命令行界面

图片 7

ren.bat运行效果

forfiles /p "d:test" /s /m *.* /d -7 /c "cmd /c del @path"

本文由巴黎人手机版发布于巴黎人-操作系统,转载请注明出处:用来自动地批量地执行DOS命令以实现特定操作的

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文