1、@ 命令行回显屏蔽符
2、% 批处理变量引导符
3、> 重定向符
4、>> 重定向符
5、<、>&、<& 重定向符
6、| 命令管道符
7、^ 转义字符
8、& 组合命令
9、&& 组合命令
10、|| 组合命令
11、"" 字符串界定符
12、, 逗号
13、; 分号
14、() 括号
15、! 感叹号
16、批处理中可能会见到的其它特殊标记符: (略)
CR(0D) 命令行结束符
Escape(1B) ANSI转义字符引导符
Space(20) 常用的参数界定符
Tab(09) ; = 不常用的参数界定符

  • COPY命令文件连接符
  • ? 文件通配符
    / 参数开关引导符
    : 批处理标签引导符

废话少说,开讲了

1、@ 命令行回显屏蔽符

这个字符在批处理中的意思是关闭当前行的回显。我们从前几课知道
ECHO OFF可以关闭掉整个批处理命令的回显,但不能关掉ECHO OFF这个命令,现在我们在ECHO OFF这个命令前加个@,就可以达到所有命令均不回显的要求

2、% 批处理变量引导符

这个百分号严格来说是算不上命令的,它只是批处理中的参数而已(多个%一起使用的情况除外,以后还将详细介绍)。
引用变量用%var%,调用程序外部参数用%1至%9等等
%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %为命令行传递给批处理的参数
%0 批处理文件本身,包括完整的路径和扩展名
%1 第一个参数
%9 第九个参数
%
从第一个参数开始的所有参数
参数%0具有特殊的功能,可以调用批处理自身,以达到批处理本身循环的目的,也可以复制文件自身等等。
例:最简单的复制文件自身的方法
copy %0 d:\wind.bat
小技巧:添加行内注释
%注释内容%(可以用作行内注释,不能出现重定向符号和管道符号)
为什么这样呢?此时“注释内容”其实被当作变量,其值是空的,故只起注释作用,不过这种用法容易出现语法错误,一般不用。

3、> 重定向符

输出重定向命令
DOS的标准输入输出通常是在标准设备键盘和显示器上进行的,利用重定向,可以方便地将输入输出改向磁盘文件或其它设备。其中:
1.大于号“>”将命令发送到文件或设备,例如打印机>prn。使用大于号“>”时,有些命令输出(例如错误消息)不能重定向。
2.双大于号“>>”将命令输出添加到文件结尾而不删除文件中已有的信息。
3.小于号“<”从文件而不是键盘上获取命令所需的输入。
4.>&符号将输出从一个默认I/O流(stdout,stdin,stderr)重新定向到另一个默认I/O流。
例如,command >output_file 2>&1将处理command过程中的所有错误信息从屏幕重定向到标准文件输出中。标准输出的数值如下所示:

命令重定向的标准句柄

句柄名称 值 说明
STDIN 0 标准输入,发送自键盘
STDUOT 1 标准输出,发送到命令Shell窗口
STDERR 2 标准错误输出,发送到命令Shell窗口
UNDEFINED 3~9 特定于应用程序的句柄

这个字符的意思是传递并且覆盖,他所起的作用是将运行的结果传递到后面的范围(后边可以是文件,也可以是默认的系统控制台)

在NT系列命令行中,重定向的作用范围由整个命令行转变为单个命令语句,受到了命令分隔符&,&&,||和语句块的制约限制。
比如:

使用命令:echo hello >1.txt将建立文件1.txt,内容为”hello “(注意行尾有一空格)
使用命令:echo hello>1.txt将建立文件1.txt,内容为”hello“(注意行尾没有空格):

具体重定向实例请看这篇文章:DOS的重定向命令及在安全方面的应用

4、>> 重定向符

输出重定向命令
这个符号的作用和>有点类似,但他们的区别是>>是传递并在文件的末尾追加,而>是覆盖
用法同上
同样拿1.txt做例子
使用命令:
echo hello > 1.txt
echo world >>1.txt
这时候1.txt 内容如下:
hello
world

5、<、>&、<& 重定向符

这三个命令也是管道命令,但它们一般不常用,你只需要知道一下就ok了,当然如果想仔细研究的话,可以自己查一下资料。(本人已查过,网上也查不到相关资料)
<,输入重定向命令,从文件中读入命令输入,而不是从键盘中读入。
@echo off
echo 2005-05-01>temp.txt
date <temp.txt
del temp.txt
这样就可以不等待输入直接修改当前日期

&,将一个句柄的输出写入到另一个句柄的输入中。
<&,刚好和>&相反,从一个句柄读取输入并将其写入到另一个句柄输出中。
常用句柄:0、1、2,未定义句柄:3—9
1>nul 表示禁止输出正确的信息
2>nul 表示禁止输出错误信息。
其中的1与2都是代表某个数据流输入输出的地址(NT CMD 称之为句柄,MSDOS称之为设备)。
句柄0:标准输入stdin,键盘输入
句柄1:标准输出stdout,输出到命令提示符窗口(console,代码为CON)
句柄2:标准错误stderr,输出到命令提示符窗口(console,代码为CON)
其中的stdin可被<重定向,stdout可被>、>>重定向。
我们已经知道读取文本中的内容可以用for命令,但如果只需要读取第一行用for命令就有点麻烦。简单的办法如下:
@echo off
set /p str=<%0
echo %str%
pause
运行显示批处理文件自身的第一行:@echo off

6、| 命令管道符

格式:第一条命令 | 第二条命令 [| 第三条命令…]
将第一条命令的结果作为第二条命令的参数来使用,记得在unix中这种方式很常见。
例如:
dir c:|find “txt”
以上命令是:查找C:\所有,并发现TXT字符串。
FIND的功能请用 FIND /? 自行查看
在不使format的自动格式化参数时,我是这样来自动格式化A盘的
echo y|format a: /s /q /v:system
用过format的都知道,再格盘时要输入y来确认是否格盘,这个命令前加上echo y并用|字符来将echo y的结果传给format命令
从而达到自动输入y的目的
(这条命令有危害性,测试时请慎重)

7、^ 转义字符

^是对特殊符号<,>,&的前导字符,在命令中他将以上3个符号的特殊功能去掉,仅仅只把他们当成符号而不使用他们的特殊意义。
比如
echo test ^>1.txt
结果则是:test > 1.txt
他没有追加在1.txt里,呵呵。只是显示了出来
另外,此转义字符还可以用作续行符号。
举个简单的例子:

@echo off
echo 英雄^
是^
好^
男人
pause

不用多说,自己试一下就明白了。
为什么转义字符放在行尾可以起到续行符的作用呢?原因很简单,因为每行末尾还有一个看不见的符号,即回车符,转义字符位于行尾时就让回车符失效了,从而起到了续行的作用。

8、& 组合命令

语法:第一条命令 & 第二条命令 [& 第三条命令…]
&、&&、||为组合命令,顾名思义,就是可以把多个命令组合起来当一个命令来执行。这在批处理脚本里是允许的,而且用的非常广泛。因为批处理认行不认命令数目。
这个符号允许在一行中使用2个以上不同的命令,当第一个命令执行失败了,也不影响后边的命令执行。
这里&两边的命令是顺序执行的,从前往后执行。
比如:
dir z:\ & dir y:\ & dir c:
以上命令会连续显示z,y,c盘的内容,不理会该盘是否存在

9、&& 组合命令

语法:第一条命令 && 第二条命令 [&& 第三条命令…]
用这种方法可以同时执行多条命令,当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令
这个命令和上边的类似,但区别是,第一个命令失败时,后边的命令也不会执行
dir z:\ && dir y:\ && dir c:\

10、|| 组合命令

语法:第一条命令 || 第二条命令 [|| 第三条命令…]
用这种方法可以同时执行多条命令,当一条命令失败后才执行第二条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令;

提示:组合命令和重定向命令一起使用必须注意优先级
管道命令的优先级高于重定向命令,重定向命令的优先级高于组合命令
问题:把C盘和D盘的文件和文件夹列出到a.txt文件中。看例:
dir c:\ && dir d:\ > a.txt
这 样执行后a.txt里只有D盘的信息!为什么?因为组合命令的优先级没有重定向命令的优先级高!所以这句在执行时将本行分成这两部分:dir c:\和dir d:\ > a.txt,而并不是如你想的这两部分:dir c:\ && dir d:\和> a.txt。要使用组合命令&&达到题目的要求,必须得这么写:
dir c:\ > a.txt && dir d:\ >> a.txt
这样,依据优先级高低,DOS将把这句话分成以下两部分:dir c:\ > a.txt和dir d:\ >> a.txt。例十八中的几句的差别比较特殊,值得好好研究体会一下。
当然这里还可以利用&命令(自己想一下道理哦):
dir c:\ > a.txt & dir d:\ >> a.txt
[这个也可以用 dir c:;d:\ >>a.txt 来实现]

11、"" 字符串界定符

双引号允许在字符串中包含空格,进入一个特殊目录可以用如下方法
cd “program files”
cd progra~1
cd pro*
以上三种方法都可以进入program files这个目录

12、, 逗号

逗号相当于空格,在某些情况下“,”可以用来当做空格使
比如
dir,c:\

13、; 分号

分号,当命令相同时,可以将不同目标用;来隔离,但执行效果不变,如执行过程中发生错误,则只返回错误报告,但程序仍会执行。(有人说不会继续执行,其实测试一下就知道了,只不过它的执行有个规则,请看下面的规则)
比如:
dir c:;d:;e:;z:
以上命令相当于
dir c:
dir d:
dir e:
dir f:
如果其中z盘不存在,运行显示:系统找不到指定的路径。然后终止命令的执行。
例:dir c:;d:;e:\1.txt
以上命令相当于
dir c:
dir d:
dir e:\1.txt
其中文件e:\1.txt不存在,但e盘存在,有错误提示,但命令仍会执行。

规则:(我是在操作系统是XP SP3,英文版下测试的)
1.如果目标路径不存在,则整个语句都不执行,例如dir c:;c:\dfdfdf\a.txt,则根本不会执行,因为我没有c:\dfdfdf\这个目录;
2.如果路径存在,仅文件不存在,则会继续执行,并且提示文件不存在的错误,例如:dir c:;c:\temp\a.txt,我的目录中有c:\temp\文件夹,但这个目录下面没有1.txt这个文件。
就说这些了!各位有什么意见请回贴!有什么疑问请到BAT交流区发贴!下一节改进!

14、() 括号

小括号在批处理编程中有特殊的作用,左右括号必须成对使用,括号中可以包括多行命令,这些命令将被看成一个整体,视为一条命令行。
括号在for语句和if语句中常见,用来嵌套使用循环或条件语句,其实括号()也可以单独使用,请看例子。
例:
命令:echo 1 & echo 2 & echo 3
可以写成:
(
echo 1
echo 2
echo 3
)
上面两种写法效果一样,这两种写法都被视为是一条命令行。
注意:这种多条命令被视为一条命令行时,如果其中有变量,就涉及到变量延迟的问题。

15、! 感叹号

没啥说的,在变量延迟问题中,用来表示变量,即%var%应该表示为!var!,请看前面的setlocal命令介绍

批处理-----2.常用特殊符号相关推荐

  1. 批处理常用特殊符号简介

    批处理常用特殊符号 1. @                                                命令行回显屏蔽符 2. %                          ...

  2. html输入符号%3e,html常用特殊符号

    html符号总汇:https://blog.csdn.net/u012241616/article/details/114867161 常用特殊符号1 描述 td{background:white;} ...

  3. linux常用特殊符号大全

    #   ;   ;;      .      ,       /       \       'string'|       !   $   ${}   $?      $$   $*  " ...

  4. 【Latext】上标下标 ( 右侧上标下标 | 任意字符的正上标记 | 任意字符的正下标记 | 常用数学符号的上标和下标 | 加和 | 乘积 | 交集 | 并集 | 上积 | 极限 | 上弧 )

    文章目录 一.右侧上标下标 二.任意字符的正上标记 三.任意字符的正下标记 四.常用数学符号的上标和下标 ( 加和 | 乘积 | 交集 | 并集 | 上积 | 极限 ) 五.上弧 一.右侧上标下标 普 ...

  5. Dos批处理编程常用命令

    Dos批处理编程常用命令 打印输出交互 echo:打印输出.比如:echo 哈哈哈  就在dos页面里输出"哈哈哈" echo .:输出空行.[注意空格和点哈] echo off: ...

  6. oracle 11g nlslang,常用数学符号的 LaTeX 表示方法

    常用数学符号的 LaTeX 表示方法 My notes: 空格间隙设置表: ** 两个quad空格** a \qquad b $a \qquad b$ 两个m的宽度 quad空格 a \quad b ...

  7. LaTeX常用数学符号表示方法

    转自:http://www.mohu.org/info/symbols/symbols.htm 常用数学符号的 LaTeX 表示方法 (以下内容主要摘自"一份不太简短的 LATEX2e 介绍 ...

  8. 转载收藏 常用数学符号的读法及其含义

    首先,说明本文的引用地址是:https://blog.csdn.net/xiaolang85/article/details/51344531 常用数学符号的读法及其含义   近来发现很多学生对一些数 ...

  9. 【LaTex】常用特殊符号对应表

    [LaTex]常用特殊符号对应表 引言 摘录 引言 文章主要是摘录了部分LaTex数学符号的格式,以下包括常见希腊字母.LaTex数学格式.分隔符.标准函数名.二元运算符.箭头.尺寸大小控制等格式. ...

最新文章

  1. Class.newInstance()与new、Constructor.newInstance()的区别
  2. 验证Xcode真伪的方法,来自苹果官网
  3. Java web 初入
  4. Java 多线程(六)——进程间通信与线程间通信
  5. 【PCL】SolidWorks 三维建模 STL, OBJ 采样生成 PCD 点云数据(附源码)
  6. codesmith生成SQLSERVER实体(带注释)
  7. 卡巴斯基互联网安全套装KIS 2010 Beta汉化特别版下载(无需注册码)
  8. 模拟版图layout能否转数字IC后端实现?
  9. Coverage Path Planning(区域覆盖)
  10. 计算机二级c好考吗,计算机二级MS Office和C语言哪个比较好考?
  11. 深析超市商品管理系统设计
  12. C++ 代码模拟登录淘宝、天猫、支付宝等电商网站的实现
  13. MSP430之如何降低系统功耗1
  14. 推荐一个智能的 Java 爬虫框架
  15. 1.31.Flink自定义rocketmq(source/sink)+自定义redis source和sink
  16. Matlab中连续信号与离散信号的绘制
  17. [读书笔记]《SQL基础教程》
  18. java调用阿里云NLP自然语言处理模型
  19. Conflux Studio云端IDE工具发布
  20. 腾讯云Ubuntu 22.04安装ERPnext V14 安装教程

热门文章

  1. 小米昨天发布的新机,简直太TM牛了……
  2. MT7687芯片资料MT7687原理图资料
  3. 微软office即点即用服务能关闭吗?_技术贴:关于OFFICE各版本的下载安装卸载以及激活方法大全...
  4. 今日头条-快速获取爆文素材的5大途经
  5. 筷子兄弟的病毒营销,只用了一首歌!
  6. 【100%通过率】华为OD机试真题 Python 实现【核酸最快检测效率】【2022.11 Q4 新题】
  7. 梦幻西游手游转区没服务器显示不出来,《梦幻西游手游》怎么转服 转服需要满足条件介绍...
  8. Matlab如何画对比柱状图
  9. 10个人用的云服务器要什么配置文件,10个人用的云服务器要什么配置文件
  10. 神经网络实现手写数字识别