当前位置:   article > 正文

Windows批处理常用符号(2)_echo + 管道符

echo + 管道符

%:批处理变量引导符

解释: %严格说不算是命令,它只是批处理中的参数而已,引用变量用%variableName%,也可以添加行内注释
	 格式: %注释内容% (作为行内注释不能出现重定向和管道符)	
  • 1
  • 2

实例:
@echo off
set var=10
echo 引用变量的值
echo %var%
echo 行内注释
echo %行内注释片段% %var%
pause
在这里插入图片描述

> >> < :重定向符

  DOS的标准输入输出通常实在标准键盘和显示器上进行的,利用重定向可以方便将输入输出
改向磁盘文件或设备
1. > >>:输出重定向命令
>: 将命令发送到文件或设备
>>: 将命令输出添加到文件结尾,而不删除文件中已有的内容
2. <: 输入重定向命令
<:从文件而不是键盘上获取命令所需的输入
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

实例
@echo off
echo “>的示例”
echo 创建一个文件 > .\temp.txt
echo 文件内容: & type .\temp.txt
echo.
echo “>>的示例”
echo 向temp.txt文件中新增内容 >> .\temp.txt
echo.
echo 新增后的文件内容: & type .\temp.txt
echo “<的示例”
set /p var=“” < .\temp.txt
echo 重输入给变量的值:%var%
pause
在这里插入图片描述

|: 命令管道符

格式: command_1|command_2
将第一条命令的结果作为第二条命令的参数来使用
  • 1
  • 2

实例:
@echo off
rem 创建一个文件
echo “hello world” > .\temp.txt
echo “one” >> .\temp.txt
echo “two” >> .\temp.txt
echo 查找是否有one字符串
type .\temp.txt | find “one”
if errorlevel 1 goto 1
if errorlevel 0 goto 0
:0
echo 有
goto exit
:1
echo 没有
goto exit
:exit
pause
在这里插入图片描述

^: 转义字符

^的作用与其它编程语言的"\"类似,将一些已存在的特殊字符,转义为普通字符
  • 1

实例:
echo aa ^>temp.txt
在这里插入图片描述
从输出结果可以看到echo将 aa ^> temp.txt当做内容输出了,没有创建一个temp.txt文件
另外^除了有转义的作用,还有当作续作符号的作用
实例
@ echo off
echo 续作符号输出效果:
echo 你好^
我好^
大家好
echo.
echo 普通输出效果:
echo 你好我好大家好
pause
在这里插入图片描述

& && ||: 组合命令

&,&&,||为组合命令,顾名思义就是可以将多条命令组合组合起来当一个命令来执行
&符号: 允许在一行中使用2个以上不同命令,如果第一个命令执行失败时,并不影响后面的命令执行
执行顺序是从左到右
  • 1
  • 2
  • 3

实例
dir w:\ & dir c:\ & dir d:
结果:
在这里插入图片描述
从结果来看,没有w磁盘,报找不到指定路径,并不影响后面的命令执行

&&符号: 与&相同可以执行多条命令,但不同的是,当前面的命令执行失败,将不在执行后面的命令,前面的
 	    命令正确才会往后执行
  • 1
  • 2

实例:
dir c:\ && dir w:\ && dir d:
结果:
在这里插入图片描述
从结果来看,执行dir w:\失败之后不会执行后面命令dir d:\

||符号:与&&相同可以执行多条命令,但是不同的是,当第一条命令执行失败才执行第二条命令,
        当碰到执行正确的命令将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令
  • 1
  • 2

实例:
dir w:\ || dir c:\ || dir d:
在这里插入图片描述
从结果来看dir w:\执行失败执行dir c:,执行dirt c:\成功就不会执行后面dir d:\命令
备注: 命令执行的优先级: 管道命令>重定向命令>组合命令

" ": 字符界定符

"":字符界定符,允许在字符串周静包含空格,比如进入包含空格的文件夹或者文件(cd program files"")
  • 1

, : 逗号

,: 逗号相当与空格,在某些情况下","当作空格使用,比如尝试执行dir,c:\ 
  • 1

; : 分号

; :分号当命令相同时,可以将不同的目标用";"分隔开,并且执行效果不变,如果执行过程中发生错误
则返回错误报告,但是程序仍会继续执行(这个执行是有条件的)
  • 1
  • 2

实例1:
dir c:;w:;d:
结果
在这里插入图片描述

实例2:
dir c:;d:\temp
结果
在这里插入图片描述

从实例1和实例2,如果磁盘不存在,则整条命令直接报错误信息不执行,但是D盘没有temp文件继续执行
总结: 1. 如果目标路径不存在,则整个语句不执
2.如果路径存在,仅文件不存在,则继续执行,并且提示文件不存在的错误.

(): 括号

(): 括号,在批处理中有特殊作用,括号中可以包含多条命令,这些命令会被看做一个整体
备注: 通常用于for语句或者if语句中或者循环语句中,也可以单独使用
  • 1
  • 2

实例:
命令: echo 1 & echo 2 & echo 3
也可以写成:
(
echo1
echo2
echo3
)
在这里插入图片描述

!: 感叹号

!: 感叹号,主要是在变量延迟问题中,用来表示变量,即%var%应该表示为!var!
  • 1

* ? :文件通配符

*文件通配符: 代表全部字符 
?文件通配符: 代表单个字符
  • 1
  • 2

实例:
@ echo off
rem 创建测试使用的文件
echo “1” >.\testFile_one.txt
echo “1” >.\testFile_1.txt
echo “2” >.\testFile_2.txt
echo “2” >.\testFile_two.txt
echo “text” > testFile.txt
echo “text” > textFile.txt
echo 测试文件创建完毕
echo.
echo ": 代表全部字符"
for %%i in (testFile_
.txt) do (
echo %%i
)
echo.
echo “?:代表单个字符”
for %%i in (te?tFile.txt) do (
echo %%i
)
echo.
for %%i in (te?tFile*.txt) do (
del .%%i
)
echo 收尾工作完成
pause

在这里插入图片描述
从结果看,“testFile_*.txt”是查找以”testFile_“开头忽略后面所以字符的文件名
“te?tFile.txt”是查找以“te“与”tFile.txt”之间字符任意单个字符组成的文件名

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/76634?site
推荐阅读
相关标签
  

闽ICP备14008679号