批处理简述

1.批处理定义
批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中
批处理文件的扩展名为bat 。
比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于微软的强大的PowerShell的,用来批量处理一些任务的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。更复杂的情况,需要使用if、for、goto等命令控制程式的运行过程,如同C、Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程式是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行。

2.批处理命令简介

  • echo 命令

1. 输出显示消息

格式:echo 你要输出的信息

例1

echo hello,world
echo i will come back
pause

执行显示:

C:\bat>echo hello,world
hello,world
C:\bat>echo i will come back
i will come back
C:\bat>pause
请按任意键继续. . .

我们写的批处理,能不能让它不显示我们到底写了什么命令?能,这就是echo命令的第二种功能:

2. 关闭命令的回显

格式:@ 放在命令前面

例2

@echo hello,world
@echo i will come back
pause

执行显示:

hello,world
i will come back
C:\bat>pause
请按任意键继续. . .

3. 打开回显或关闭回显功能

格式:echo [{ on|off }]
如果在批处命令前加上echo off,那么将会关闭批处理中的命令回显。当然,你要是不想显示echo off
命令本身,你可以把@加在echo off前面。
例3:

@echo off
echo hello,world
echo i will come back
pause

执行显示:

hello,world
i will come back
请按任意键继续. . .
  • 4 输出空行,即相当于输入一个回车
    格式:echo.
    注意命令中的“.”要紧跟在ECHO后面,中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以用,:;”/]+\ 这些任一符号替代。

例4

@echo off
echo 我在写批处理教程哦!
echo.
echo 你看到上面有空一行么?
pause

执行显示:

我在写批处理教程哦!你看到上面有空一行么?
请按任意键继续. . .

命令ECHO.输出的回车,经DOS管道转向可以作为其它命令的输入,比如echo.|time即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态。

  • 5 答复命令中的提问

格式:ECHO 回复|命令表达式
作用:通过管道命令 | 把“回复”作为输入传导给后面的“命令表达式”,并作为“命令表达式”的输入。(注
意,管道命令|的输入方法,shift键 \)

例5

@echo off
rd /s c:\abc
pause

执行显示:

c:\abc, 是否确认(Y/N)?

解释一下,这里abc是一个不为空的文件夹,用rd 命令删除时它将会询问你Y或N,这时你就要手动的输入Y/N了。OK,我们把批处改一下,这时系统将会自动帮助我们把Y输入确认了

例 6

@echo off
echo Y|rd /s c:\abc
pause
  • 6 建立新文件或增加文件内容

格式:echo 文件内容>文件名

例 7

@echo off
echo 123>myfile.txt
pause

这样我们就在当前目录下建立了一个myfile.txt文件,文件的内容为123。如果你想要建立一个空的新文件,那你
可以试一下这个

例8

@echo off
echo. >myfile.txt
pause

注:上面所有实例中的pause是暂停命令,主要是用来暂停演示给大家看的

  • rem 命令

rem 为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
例1

@echo off
echo 这是例1哦!
rem 上面的echo 语句用于显示提示。
pause

另外 :: 也可以起到 rem 的注释作用, 而且更简洁有效; 但有两点需要注意!

第一, 任何以冒号:开头的字符行,在批处理中都被视作标号, 而直接忽略其后的所有内容。
有效标号:冒号后紧跟一个以字母数字开头的字符串,goto 语句可以识别。

无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto 无法识别的标号,可以起到注释
作用,所以 :: 常被用作注释符号,其实 : 也可起注释作用。

例2

@echo off
echo 这是例2哦!
::上面的echo 语句用于显示提示。
pause

第二, 与 rem 不同的是, :: 后的字符行在执行时不会回显, 无论是否用echo on 打开命令行回显状态,
因为命令解释器不认为他是一个有效的命令行, 就此点来看, rem 在某些场合下
将比 :: 更为适用; 另外, rem 可以用于 config.sys 文件中

  • pause 命令

暂停命令。运行 Pause 命令时,将显示下面的消息:
Press any key to continue. . .(或:请按任意键继续. . .)
示例:

@echo off:begin
copy G:*.* d:\back
echo 请插入另一张光盘...pause
goto begin

在这个例子中,驱动器 G 中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另一张光盘放入驱动器 G 时,pause 命令会使程序挂起,以便您更换光盘,然后按任意键继续处理。
此命令还可以和echo命令配合使用达到自定义暂停的提示文本,如:

echo 请按下任意键来退出...
pause >nul

这段代码会输出:

请按下任意键来退出...
  • call 命令

从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call命令接受用作调用目标的标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。
语法:

call [路径文件名] [标签]]

参数:

[Drive:][Path] FileName

指定要调用的批处理程序的位置和名称。
除此之外,call命令还可以调用批处理的标签行,如

call :startbat

此代码会调用此批处理内名为startbat的标签行

start 命令

调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
如:

start calc.exe

即可打开Windows的计算器。

常用参数:

参数名 描述
MIN 开始时窗口最小化
SEPARATE 在分开的空间内开始 16 位 Windows 程序
HIGH 在 HIGH 优先级类别开始应用程序
REALTIME 在 REALTIME 优先级类别开始应用程序
WAIT 启动应用程序并等候它结束
parameters 这些为传送到命令/程序的参数

执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。如果在命令
脚本内执行,该新行为则不会发生

  • goto 命令

跳转命令。程序指针跳转到指定的标签,从标签后的第一条命令开始继续执行批处理程序。
语法:

goto label

(label是参数,指定所要转向的批处理程序中的行。)
示例:

:1
start
goto 1

运行以上这段命令,就会打开很多个窗口。这段命令的意思是,先用start命令打开窗口,再用goto 1命令转到1标签,即第一行后面的命令。注意标签名字前面要加上英文的冒号。
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto
命令就是根据这个:来寻找下一步跳到哪里。最好有一些说明这样别人看起来才会理解你的意图啊。

  • set 命令

显示、设置或删除变量。
显示变量:set 或 set s 前者显示批处理当前已定义的所有变量及其值,后者显示所有以s开头的变量及值。
设置和调用变量:例如set aa=abcd(也可写作set “aa=abcd”),就是把aa定义为abcd。如果要调用这个变量,就把aa两边加上个百分号。
示例:

set aa=abcd
echo %aa%
pause

运行这段命令就会显示“abcd”。
删除变量:"set aa="此句命令即可删除变量aa。若变量aa已被定义,则删除变量aa;若aa尚未定义,则此句命令无实质意义。
需要说明的是,批处理中的变量是不区分类型的,不需要像C语言中的变量那样还要区分int、float、char等。比如执行set aa=345后,变量aa的值既可以被视为数字345,也可以被视为字符串345。
set命令具有扩展功能,如用作交互输入、字符串处理、数值计算等,属于高级命令范畴。

  • assoc命令

添加文件扩展名

语法:

assoc [File extension] [Annotation]

示例:

@echo off
assoc .txp=错误
  • cd命令

1。同一个分区的切换

目录切换格式:格式:CD [盘符][路径]

如果当前目录是C:\Documents and Settings\mzybar,我们要切换到同一分区下不同的目录,请看下面的例子。(
注:下面例子中的>表示命令行下的提示符,>前面的表示当前目录。)

例1
切换到C:\WINDOWS目录

C:\Documents and Settings\mzybar>
cd C:\WINDOWS
C:\WINDOWS

例2
切换到C:\WINDOWS\system32目录

C:\Documents and Settings\mzybar>
cd C:\WINDOWS\system32
C:\WINDOWS\system32>

如果当前目录是C:\WINDOWS\system32,我们要返回到上一层目录,即返回到C:\WINDOWS时,我们可以这样:

例3

C:\WINDOWS\system32>
cd..
C:\WINDOWS>

在这里,cd…是不是简单了很多? 当然了,你也可以cd C:\WINDOWS

如果当前目录是C:\WINDOWS\system32,我们要返回根目录,即返回到C:\时,你可以试下这个:

例4

C:\WINDOWS\system32>
cd\
C:\ >

在这里返回根目录时,我们用的是cd\命令,当然你也是可以cd c:\

其实在DOS命令中...\都是表示相对路径的,.是当前目录,..是上一层目录,而\则表示根目录。我们来试下

cd.

例5

C:\WINDOWS\system32>
cd.
C:\WINDOWS\system32>

看到了吧,当输入cd.后还是在原来的位置,因为 。是当前目录,切换到当前目录当然没有变罗

2。不同分区的切换

格式:格式:CD /d [盘符][路径]
如果当前目录是C:\Documents and Settings\mzybar,我们需要切换到其它分区目录,请看:

例1
切换到D:\123\abc

C:\Documents and Settings\mzybar>
cd /d d:\123\abc
D:\123\abc>

如果我们要切换到D盘的根目录,则有更简单的方法,请看:

例2

C:\Documents and Settings\mzybar>
D:
D:\>

在这里,我们直接输入驱动器号 冒号,就可以切换到它的根目录。

3。CD 的另一个用途:显示当前的完整路径,一般用通过 %cd% 加以引用。

例1

@echo off
echo 当前路径是 %cd%
pause

执行显示的是当前的完整路径。

  • dir命令

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

DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

[drive:][path][filename]   指定要列出的驱动器、目录和/或文件。

/A 显示具有指定属性的文件。
attributes D 目录 R 只读文件
H 隐藏文件 A 准备存档的文件
S 系统文件 - 表示“否”的前缀
/B 使用空格式(没有标题信息或摘要)。
/C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
停用分隔符显示。
/D 跟宽式相同,但文件是按栏分类列出的。
/L 用小写。
/N 新的长列表格式,其中文件名在最右边。
/O 用分类顺序列出文件。
sortorder N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 颠倒顺序的前缀
/P 在每个信息屏幕后暂停。
/Q 显示文件所有者。
/S 显示指定目录和所有子目录中的文件。
/T 控制显示或用来分类的时间字符域。
timefield C 创建时间
A 上次访问时间
W 上次写入的时间
/W 用宽列表格式。
/X 显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式,
短名称插在长名称前面。如果没有短名称,在其位置则
显示空白。
/4 用四位数字显示年


关于dir命令比较多,看到上面一大堆的参数头都晕了, 在这里我们学习一些常用的就OK了~

1。列出c:\windows下的目录及文件
格式:DIR [drive:][path][filename]

例1

dir c:\windows

这种方法有明显的缺点——当列表中的目录及文件过多时就无法完全显示,我们将通过/p参数解决这个问题。

/P 在每个信息屏幕后暂停。

例2

dir /p c:\windows

我们在命令最后加上一个参数“/p”(即“page”页的缩写),列文件时就会使用分页显示的方式,即列出一屏的目
录及文件后,提示“按任意键继续…”,按任意键后则显示下一屏。这样就可以逐屏查看了!

/B 使用空格式(没有标题信息或摘要)。
例3

dir /b c:\

我们在查看时,发现列出来的文件都带有日期,时间,创建者等信息,我们可以在命令后加上/b参数,让它只列出文件名称。

2。列出c:\下指定属性的文件

格式:DIR /a: attributes (这里的:号可以省略)
attributes D 目录 R 只读文件
H 隐藏文件 A 准备存档的文件
S 系统文件 - 表示“否”的前缀

例1

dir /a c:\

列出C:\下所有的文件。

例2

dir /ah c:\

列出隐含的文件(包含文件和文件夹)。

例3

dir /ad c:\

列出C:\下所有的文件夹。

例4

dir /ad-h c:\

列出C:\下所有的文件夹,但不包含隐含的文件夹。

3 按分类列出c:\下的文件

格式:DIR /o: sortorder (这里的:号可以省略)
sortorder N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 颠倒顺序的前缀

例1

dir /on c:\

/o:排序方式 参数指定了dir命令显示命令结果时的排序方式,排序方式设为“n”即代表按照文件名的字母顺序排列
(从A~Z,以此类推)。

例2

dir /ogn c:\

优先列出文件夹,并且文件夹和文件都按字母顺序排列。

★“/o”和“/a”都可以省略其后的冒号“:”,但之间不能留有空格。如“/o:n”省略后的形式应为“/on”。

批处理常用DOS命令简述相关推荐

  1. 批处理入门手册之批处理常用DOS命令篇(md、rd、ren、move)

    批处理入门手册之批处理常用DOS命令篇(md.rd.ren.move) 这篇文章主要介绍了批处理入门手册之批处理常用DOS命令篇(md.rd.ren.move),需要的朋友可以参考下 1.3 学习 m ...

  2. Windows批处理符号简介、常用Dos命令

    三.批处理符号简介  [ 回显屏蔽 @ ] 表示不显示@后面的命令,在***过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦.  @用法举例:通过运行批处理文件对比pause ...

  3. 常用DOS命令之通俗易懂篇

    摘要:讲解常用的Dos命令,如果需要学习更多的命令可以使用cmd的help工具. 文章内容较长,可以通过搜索来查找对应的命令 常用DOS命令之通俗易懂篇 Arp 命令 Assoc 关联 At 计划服务 ...

  4. Windows 常用dos命令大全

    regedit 可以打开注册表编缉器. msconfig 可以打开系统配置文件(在 9x 系统) sfc 可以打开系统文件检查器 scandisk 扫描磁盘(用于 9x) ping 网络测试 scan ...

  5. 常用Dos命令 命令提示符 CMD

    常用Dos命令 命令提示符 CMD 打开方式 开始 + 系统 + 命令提示符 win键+R + cmd 我的电脑 + 地址栏输入cmd 在任意文件夹下,按住shift键+鼠标右键点击,在此处打开命令提 ...

  6. 常用DOS命令(转)

    最近的python都是在windows下运行,自从用了notepad++这个IDE以后,程序经常要在cmd命令行里运行,然后就少不了使用些DOS命令,其实只要熟悉了linux的操作,DOS命令就更容易 ...

  7. 软件测试体系学习及构建(3)-Windows系统常用DOS命令和使用

    (3)-Windows系统常用DOS命令使用 1 打开命令行 2 常用快捷操作 2.1 切换驱动器 2.2 命令帮助 2.3 命令补全 2.4 清屏操作 3 目录操作 4 文件操作 5 通配符 6 管 ...

  8. Java01-day01【发展史、跨平台原理、JRE和JDK、常用DOS命令、关键字、常量、数据类型、变量使用的注意事项、标识符、类型转换】

    java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] &qu ...

  9. 在C#里,如何执行cmd里的常用dos命令 (转)

    http://blogger.org.cn/blog/more.asp?name=nrzj&id=4280 using System; using System.Diagnostics; na ...

  10. 常用 Dos 命令+杂项-常用的命令符+常用的公式

    services.msc  打开系统服务. regedit 打开注册表 sqlplus 加载 Oracle 开户段. cmd 进入 dos 界面. exit 退出 dos 界面. edit 进入 do ...

最新文章

  1. 文末惊喜福利 | 盘点2021主流架构创新实践
  2. JSP 九大内置对象
  3. 遗传算法应用(实例详细演示最小生成树的prufer编码和Cayley定理)
  4. Mybatis中传参包There is no getter for property named XXX in class java.lang.String
  5. 数据结构--快速排序
  6. 一入爬虫深似海,反爬技术你知多少?
  7. pdf阅读器改背景色
  8. java 文本编辑器 源码_java文本编辑器源码
  9. Skywalking-03:Skywalking本地调试
  10. tp中  M和 D的区别
  11. 提高mysql性能_提升MySQL性能值得借鉴的几个简易方法
  12. 服务提供者框架理解草图
  13. CSS font-family字体大合集
  14. 区间多目标优化算法IP-MOEA
  15. 贴片电阻分类、阻值、功率、封装、尺寸
  16. element树形Tree组件控制allow-drop拖拽
  17. RxJava操作符(09-算术/聚合操作连接操作)
  18. iphone计算机怎样打开声音,8个iOS必知小技巧!iPhone的声音还可以调更大哦!
  19. 创新创业大赛的目的是什么?为什么要参加创新创业大赛?
  20. 0x3f3f3f3f是什么意思

热门文章

  1. pandas空值填充
  2. OPPO手机完美安装Kingroot实现一键root
  3. windows连接linux共享文件夹,windows访问linux共享文件夹
  4. 关于matlab影像处理imhist直方图均衡化问题
  5. Yeah,我的Pygame安装成功了!(Windows Pygame 安装教程)
  6. C#操作Access数据库(查询,更新,插入)
  7. 什么是量子加密(二)
  8. 元旦表白神器!C语言实现浪漫烟花表白(有背景音乐+示例源码)
  9. 最全经典 | 机器视觉基础知识汇总
  10. 芯烨Xprinter XP-D3601B 打印机驱动