echo

打开回显或关闭回显功能,或显示消息。如果没有任何参数,echo命令将显示当前的回显设置。
命令格式1:echo [{on|off}]
命令格式2:echo [message]
 
例、在命令提示符中关闭回显,并显示"hello world"
创建一个hello.bat脚本文件,输入以下内容
@echo off
echo "hello world"
pause > nul
在实际应用中我们也会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定的文件中。如:
例2、创建文本文件"echo.txt",内容为"hello world"
echo hello world > echo.txt
 
注:通过echo 输出空行的方法
echo=
echo,
echo;
echo+
echo/
echo[
echo]
echo:
echo.
echo\
 
 

rem

在批处理文件或 CONFIG.SYS 里加上注解或说明。类似于在C语言中的/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
命令格式:rem [comment]
 
 

pause

暂停命令。运行 Pause 命令时,将显示下面的消息:Press any key to continue. . .(或:请按任意键继续. . .)。可以将其重定向到空(pause > nul),不显示消息。
 
 

call

从一个批处理程序调用另一个批处理程序,并且不终止批处理程序。call命令接受作用调用目标的标签。如果在脚本或批处理文件外使用call,它将不在命令行起作用。另外,call命令还能在相同的进程中互相传值。
命令用法:call [[Drive:][Path] FileName ] [:label [arguments]]
 
例、创建一个call1.bat脚本文件,输入

@echo off
call :label
echo 1
echo 2

:label
echo 3
echo 4

创建一个call2.bat脚本文件,输入
@echo off
call call1.bat
pause
双击执行call2.bat,执行结果如下
 

goto

跳转命令。程序指针跳转到指定的标签,从标签后的第一条命令开始继续执行批处理程序。
命令格式:goto label
参数说明:
  • label 指定批处理程序中用作标签的文字字符串
 
例、创建一个goto.bat脚本文件,输入

@echo off
goto :label
echo 1
echo 2

:label
echo 3
echo 4
pause

双击执行goto.bat,执行结果如下
 
goto :eof的作用
eof是“end of file”的缩写
在批处理作用主要有二:
1.在无call的情况下,会直接退出批处理,此时等同于exit
2.在call的情况下,会中止call,继续执行其他命令
 
 

start

调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
具体用法在上一章有详细讲解,如 start cacls.exe 即可打开计算器。
 
 

set

显示、设置或删除变量。
命令格式:set [variable=[string]]
参数说明:
variable 指环境变量名
string 指定要指派给变量的一系列字符串
 
例1、显示批处理当前已定义的所有变量及其值
set
例2、显示所有以"s"开头的变量及其值
set s
例3、向变量"aa"赋值"abcd"
set aa=abcd
例4、以echo的方式输出环境变量"aa"
echo %aa%
例5、删除变量aa
set aa=
 
set命令的两个命令行开关
set /A expression
set /P variable=[promptString]
 
/A 命令行开关指定等号右边的字符串为被评估的数字表达式。
该表达式评估器很简单并以递减的优先权顺序支持下列操作:
( )   分组
! ~ - 一元运算符
* / % 算数运算符
<< >> 逻辑移位
& 按位“与”
^ 按位“异”
| 按位“或”
= *= /= %= += -= 赋值
&= ^= |= <<= >>= , 表达式分隔符

/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入

行之前,显示指定的 promptString。promptString 可以是空的。
 
注:需要说明的是,批处理中的变量是不区分类型的,不需要像C语言中的变量那样还要区分int、float、char等。比如执行set aa=345后,变量aa的值既可以被视为数字345,也可以被视为字符串345。
 
windows系统中的常见环境变量
%CD%:当前路径。这和在命令行中输入cd得到的结果相同。
%DATE%:当前日期。这和在命令行中输入date得到的日期及格式结果相同。
%TIME%:当前时间。这和在命令行中输入time得到的时间及格式结果相同。
%ERRORLEVEL%:错误等级,输出的是最后一次出错的错误代码。
%RANDOM%:随机返回一个0~32767之间的整数。
%APPDATA%:当前登录用户的Application Data(应用程序数据)的完整路径。
%LOCALAPPDATA%:应用程序的临时文件路径,包括桌面主题,Windows异常报告,缓存等等。
%ProgramFiles%:program files路径,存放着Windows中安装的应用程序。
%CommonProgramFiles%:公共文件路径,默认为"C:\Program Files\CommonFiles"。
%SystemDrive%:Windows系列系统独有的环境变量,表示系统盘盘符,指出操作系统的安装磁盘(如果在C盘的话,那么值为”C:”)。
%SystemRoot%:Windows系列系统独有的环境变量,表示操作系统的根目录,盘符和%SystemDrive%相同,路径因系统的版本而异,XP及之后的操作系统为"\Windows"。
%windir%:Windows系统文件的安装目录,即Windows文件夹的全路径,在XP及之后的系统中为"C:\Windows"。
%UserDomain%:计算机所在的工作组或者域的名称。
%LOGONSERVER%:当前登录用户的身份验证服务器主机名。
%UserProfile%:Windows系列系统独有的环境变量,表示当前用户的文档的路径。
%UserName%:当前登录用户的用户名。
%PATH%:由一系列的分号分隔的路径组成,用于脚本解析或者命令行在执行命令时,查找匹配的可执行文件或者脚本。路径为绝对路径,对于路径中包含的子路径不会进行递归查找。
 
关于PATH环境变量的一点说明:
Windows中很多程序在安装或者配置过程中(例如JAVA JDK的安装,python的安装等等),都需要配置PATH环境变量,在配置的过程中要注意的是,PATH环境变量的路径中不能包含空格或者非英文字符和标点,不然该路径及该路径后面的所有路径都会失效。例如有一个特别常见的问题,很多朋友在安装完python开发环境,配置完成环境变量后,在cmd中执行python时会提示“"python"不是内部或外部命令,也不是可运行的程序或批处理文件”,这时首先检查下PATH环境变量中添加的路径是否有空格或者非英文字符和标点,如果没问题,可以把在PATH变量值最后添加的路径放到PATH变量值的最前面,这时如果好用了,那么只有一个可能,PATH变量值中存在无效的路径(包含空格或非英文字符和标点),如果还不好用,再检查一下是不是路径写错了吧。
 

choice

描述:
该工具允许用户从选择列表选择一个项目并返回所选项目的索引。
 
参数列表:
/C choices 指定要创建的选项列表。默认列表是 "YN"。
/N 在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。
/CS 允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。
/T timeout 做出默认选择之前,暂停的秒数。可接受的值是从 0到 9999。如果指定了 0,就不会有暂停,默认选项会得到选择。
/D choice 在 nnnn 秒之后指定默认选项。字符必须在用 /C 选项指定的一组选择中; 同时,必须用 /T 指定 nnnn。
/M text 指定提示之前要显示的消息。如果没有指定,工具只显示提示。
注意:
ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的ERRORLEVEL 值。如果用户按 Ctrl+Break 或 Ctrl+C 键,该工具会返回 0 的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时,将参数降序排列。
 
例、创建一个choice.bat脚本文件,输入
@echo off choice /c YNC /m "确定请按Y,否请按N,关闭请按C" if %errorlevel%==1 goto :Y if %errorlevel%==2 goto :N if %errorlevel%==3 goto :end :Y echo 你选择了确定 goto:end :N echo 你选择了否 goto :end :end echo goodbye pause>nul
双击执行choice.bat,执行结果如下
输入Y

CMD批处理(1)——批处理常用命令总结的更多相关文章

  1. cmd部分提权常用命令

    ipconfig 显示本地IP地址 net start telnet 开telnet服务 net use z:127.0.0.1c$ 映射对方的C盘 net user 查看所有用户列表 net use ...

  2. Windows批处理(cmd/bat)常用命令小结

    转载自:“趣IT”微信公共号 前言 批处理文件(batch file)包含一系列 DOS命令,通常用于自动执行重复性任务.用户只需双击批处理文件便可执行任务,而无需重复输入相同指令.编写批处理文件非常 ...

  3. [转帖]Windows批处理(cmd/bat)常用命令小结

    Windows批处理(cmd/bat)常用命令小结 非常值得学习的文档 先放这里 有时间做实验, 转载自:“趣IT”微信公共号 前言 批处理文件(batch file)包含一系列 DOS命令,通常用于 ...

  4. Windows 批处理(cmd/bat)常用命令教程

    Windows批处理(cmd/bat)常用命令教程 简单详细,建议收藏 常见问题: 1.如果你自己编写的.bat文件,双击打开,出现闪退 2.批处理.bat 文件中输出中文乱码 解决方法在文章末尾! ...

  5. Windows批处理(cmd/bat)常用命令

    Windows批处理(cmd/bat)常用命令 一.总结 一句话总结: 1.批量处理图片的方式? PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本: 2.大量的重复的操作 ...

  6. Windows批处理(cmd/bat)常用命令学习

    前言 批处理文件(batch file)包含一系列 DOS命令,通常用于自动执行重复性任务.用户只需双击批处理文件便可执行任务,而无需重复输入相同指令.编写批处理文件非常简单,但难点在于确保一切按顺序 ...

  7. [No0000A5]批处理常用命令大全

    1.Echo 命令打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置.语法echo [{on|off}] [message]Sample: echo off e ...

  8. [No0000A5]批处理常用命令大全&&21个DOS常用命令

    1.Echo 命令打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置.语法echo [{on|off}] [message]Sample: echo off e ...

  9. 01windows常用命令及批处理

    1. 概述 复制内容:右键弹出快捷菜单,选择"标记(K)",然后选中所需要的内容,然后右键即可 粘贴内容:右键弹出快捷菜单,选择"粘贴(P)" 命令参数的路径: ...

随机推荐

  1. C++ string的size()和length()函数没有区别

    C++标准库中的string中两者的源代码如下:      size_type   __CLR_OR_THIS_CALL   length()   const     { //   return   ...

  2. 用fread和fwrite实现文件复制操作

    #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char ...

  3. .Net Core导入千万级数据至Mysql

    ​最近在工作中,涉及到一个数据迁移功能,从一个txt文本文件导入到MySQL功能. 数据迁移,在互联网企业可以说经常碰到,而且涉及到千万级.亿级的数据量是很常见的.大数据量迁移,这里面就涉及到一个问题 ...

  4. [面向对象之继承应用(在子类派生重用父类功能(super),继承实现原理(继承顺序、菱形问题、继承原理、Mixins机制),组合]

    [面向对象之继承应用(在子类派生重用父类功能(super),继承实现原理(继承顺序.菱形问题.继承原理.Mixins机制),组合] 继承应用 类与类之间的继承指的是什么'是'什么的关系(比如人类,猪类 ...

  5. memcache 和 redis 的区别

    1)Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcache相比一个最大的区别.2)Redis在很多方面具备数据库的特征,或者说就是一个数据库系统,而Memcache只是简单的K/V ...

  6. 5.配置IP

    静态IP配置 1.NAT模式设置 首先设置虚拟机中NAT模式的选项,打开VMware,点击"编辑"下的"虚拟网络编辑器",设置NAT参数 注意: VMware ...

  7. [Java] Hibernate

    背景 持久化技术框架 封装了JDBC做数据库相关功能开发的重复性工作 比如创建连接,关闭连接,把字段逐一映射到属性中等 使用 在数据库中创建表 创建java project 导入hibernate依赖 ...

  8. Linux压力测试软件Stress安装及使用指南2

    stress工具使用指南和结果分析 Linux压力测试软件Stress安装及使用指南     一.Stress是什么 stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高 ...

  9. Docker Swarm(十一)生产环境使用的一些建议

    一.Docker Swarm上的容器选择 并非所有服务都应该部署在Swarm集群内.数据库以及其他有状态服务就不适合部署在Swarm集群内. 理论上,你可以通过使用labels将容器部署到特定节点上, ...

  10. mysql示例及练习2

    #创建数据库并应用create database shopdb;use shopdb;#创建表customerscreate table customers(c_id int primary key ...