BAT 批处理 特殊符号 总结 您所在的位置:网站首页 结束的表示符号 BAT 批处理 特殊符号 总结

BAT 批处理 特殊符号 总结

2024-07-11 17:10| 来源: 网络整理| 查看: 265

博文地址

目录

目录目录批处理特殊符号% 变量引导符! 变量延迟时变量引用符() 多行命令整合符& 命令连接符&& 和 || 组合命令符; 相同命令分割符^ 取消转义符: 标签定位符"" 字符串界定符/ 功能开关符, 特殊空格符~ 变量扩展符@ 命令行回显屏蔽符* 通配符- 范围表示符+ 文件合并符= 赋值符\ 根目录符'' 命令或字符串. 当前目录$ 一行的结束` 命令符[] 字符集? 匹配一个字符

批处理特殊符号 参考1 参考2 % 变量引导符 算数运算:SET /A a=5%%2里面%%为取余数(结果为1) 引用变量:%var%就是变量var的引用,如果直接var,系统会把var当字符处理了 命令行参数:单个%紧跟0-9的一个数字表示引用命令行参数 引用循环变量:用于for中表示引用循环变量 用于for中连续的两个%表示执行时脱为一个% 用作行内注释:%行内注释%

%n 调用程序外部参数

%n(n为自然数)表示在调用批处理文件时传递的参数

%0 批处理文件本身,包括完整的路径和扩展名。参数%0具有特殊的功能,可以调用批处理自身,以达到批处理本身循环的目的,也可以复制文件自身等等。 %1 第一个参数 %9 第九个参数 %* 从第一个参数开始的所有参数 copy %0 d:\new_file.bat :: 最简单的复制文件自身的方法

%行内注释%

可以用作行内注释,不能出现重定向符号和管道符号。

此时“注释内容”其实被当作变量,其值是空的,故只起注释作用,不过这种用法容易出现语法错误,一般不用。

%%k for语句特有的变量

%%i是for语句里面特有的变量,只有在批处理里面才写两个%%号表示变量(用1个会报错),在cmd中则只用一个%号(用2个会报错)。

批处理中之所以用两个%%是因为编译器编译的时候要屏蔽一个%。

! 变量延迟时变量引用符 变量引用符:在变量延迟问题中,用来表示变量,即%var%应该表示为!var!(不要问我为什么,因为这就是最基础的语法)。 逻辑运算符:在 set /a 中表示逻辑非 () 多行命令整合符

小括号在批处理编程中有特殊的作用,左右括号必须成对使用,括号中可以包括多行命令,这些命令将被看成一个整体,视为一条命令行。

括号在for语句和if语句中常见,用来嵌套使用循环或条件语句,其实括号也可以单独使用。

echo 1 & echo 2 & echo 3 ( echo 1 echo 2 echo 3 ) :: 上面两种写法效果一样,这两种写法都被视为是一条命令行

注意:这种多条命令被视为一条命令行时,如果其中有变量,就涉及到变量延迟的问题。

& 命令连接符 命令连接符:可以把多个命令组合起来当一个命令来执行,这在批处理脚本里用的非常广泛,因为批处理认行不认命令数目。 位运算:在set/a中是按位与 @echo off & setlocal enabledelayedexpansion set /A b=1 & echo b的值为:%b%,!b!(必须使用延迟扩展) && 和 || 组合命令符

符号&&、||为组合命令:

符号&&:前面的命令失败时,后边的命令将不会执行(前面的命令成功时,后边的命令会执行) 符号||:前面的命令失败时,后边的命令才会执行(前面的命令成功时,后边的命令不会执行) 符号&:前面的命令不影响后边的命令执行,目的一般为了将多行命令放在一行 copy %0 new_file.txt && echo 【拷贝当前批处理文件成功】 copy 不存在的文件.txt new_file.txt && echo 【拷贝成功1(不会执行)】 copy 不存在的文件.txt new_file.txt || echo 【拷贝失败1】 copy %0 new_file.txt && echo 【拷贝成功2】 || echo 【拷贝失败2(不会执行)】 copy 不存在的文件.txt new_file.txt && echo 【拷贝成功3(不会执行)】 || echo 【拷贝失败3】 ; 相同命令分割符

当命令相同时,分号;可以将不同目标用隔离,但执行效果不变。

dir c:\;d:\;e:\ :: 如果其中e盘不存在,运行显示:系统找不到指定的路径。然后终止命令的执行。不会打印任何内容 dir c:\;d:\ >>a.txt :: 把C盘和D盘的信息都重定向到文件a.txt中 ^ 取消转义符 取消转义符:将所有转义字符的转义作用关闭 位运算:在set/a中是按位异 不匹配:在findstr/r的[]中表示不匹配指定的字符集 续行符:因为每行末尾还有一个看不见的回车符,转义字符位于行尾时就让回车符失效了,从而起到了续行的作用 echo test ^>1.txt echo 我^ 是^ 包青天^ : 标签定位符

标签定位符,可以接受goto命令所指向的标签。

"" 字符串界定符 字符串界定符:在表示带有空格的路径时常要用""来将路径括起来;在一些命令里面也需要""符号 在for/f中将表示它们包含的内容当作字符串分析 在for/f "usebackq"表示它们包含的内容当作文件路径并分析其文件的内容 在其它情况下表示其中的内容是一个完整的字符串,其中的>、>>、


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有