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. java面试一日一题:如何判断一个对象是否为垃圾对象

    问题:请讲下在java中如何判断一个对象是否为垃圾 分析:该问题主要考察对java中的垃圾回收,用什么方式去识别一个对象是垃圾: 回答要点: 主要从以下几点去考虑, 1.GC回收的是什么,回收发生在内 ...

  2. 内网渗透-横向移动($IPC&at&schtasks)

    内网渗透-横向移动 #建立ipc连接并将后门添加至计划任务 前置条件:获取到某域主机权限->得到明文或者hash,通过信息收集到的用户列表当做用户名字典->用得到的密码明文当做密码字典 本 ...

  3. 【Azure Developer】使用Microsoft Graph API 如何批量创建用户,用户属性中需要包含自定义字段(如:Store_code,Store_name等)

    Microsoft Graph 是 Microsoft 365 中通往数据和智能的网关. 它提供统一的可编程模型,可用于访问 Microsoft 365.Windows 10 和企业移动性 + 安全性 ...

  4. Pytorch_Part7_模型使用

    VisualPytorch beta发布了! 功能概述:通过可视化拖拽网络层方式搭建模型,可选择不同数据集.损失函数.优化器生成可运行pytorch代码 扩展功能:1. 模型搭建支持模块的嵌套:2. ...

  5. Git安装教程最新版本(国内gitee国外github)

    Git安装教程最新版本(国内gitee国外github) 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 获取大师使用的typora主题: http://w ...

  6. 【转载】基于Linux命令行KVM虚拟机的安装配置与基本使用

    基于Linux命令行KVM虚拟机的安装配置与基本使用 https://alex0227.github.io/2018/06/06/%E5%9F%BA%E4%BA%8ELinux%E5%91%BD%E4 ...

  7. 002.Ansible之Inventory文件

    一 简介 在使用Ansible来批量管理主机的时候,通常我们需要先定义要管理哪些主机或者主机组,而这个用于管理主机与主机组的文件就叫做Inventory,也叫主机清单.该文件默认位于/etc/ansi ...

  8. Linux 仿真终端:SecureCRT 常用配置

    SecureCRT 有两类配置选项,分别是会话选项和全局选项. 会话选项:修改配置只针对当前会话有效 全局选项:修改配置对所有会话有效 一般会先选择全局选项修改全局配置,然后选择会话选项单独修改个别会 ...

  9. java面试一日一题:再谈垃圾回收器中的串行、并行、并发

    问题:请讲下java中垃圾回收器的串行.并行.并发 分析:该问题主要考察在垃圾回收过程中垃圾回收线程和用户线程的关系 回答要点: 主要从以下几点去考虑, 1.串行.并行.并发的概念 2.如何考虑串行. ...

  10. ThreadLocal与ThreadLocalMap源码分析

    ThreadLocal类 该类主要用于不同线程存储自己的线程本地变量.本文先通过一个示例简单介绍该类的使用方法,然后从ThreadLocal类的初始化.存储结构.增删数据和hash值计算等几个方面,分 ...