时间:2021-05-21
在批处理中,引号(")有时作为一个“特殊字符”的面貌出现,给批处理的编写还会造成一定的困扰,但是它在批处理代码编写的过程中又起到一些不可替代的作用,下面列举它的一些特殊使用。
1、含空格的文件名;
测试:先在F盘下新建一个文本文档(文件名为:新建 文本文档.txt),下面我们尝试用批处理来调用它,在命令行下,输入代码:start "" f:\新建 文本文档.txt,看看有什么提示?(会提示找不到 新建 文件),这是因为start命令在处理参数的时候,是以空格作为分隔符的,它只把"新建"作为参数传给了start命令本身,而F盘下又并没有这样的文件,所以会提示找不到。那我们如何通过命令行打开象 新建 文本文档.txt 这样含有空格的文件呢?我们可以这么办:把含有空格的文件名用引号括起来,如:
start "" F:\"新建 文本文档.txt"
或者:start "" "F:\新建 文本文档.txt"
在用批处理处理处理 含有 空格 的注册表键时,有同样的应用方式;
2、定义变量内容时,含有特殊字符;
先测试代码:
我们可以看到,这些代码执行有误,原因是 > 在批处理中是作为定向符(特殊符号)的,在这里不能作为普通字符传给变量test,如果要将它作为普通字符传给变量test,可以有两中办法:一是常见的转义(就是在特殊字符前加个 ^),二就是使用 引号,如将代码改为以下,即可:
这种方法在传递用户输入的变量时,用途比较广,因为你不知道用户究竟输没输入特殊字符,同时,他输入特殊字符的时候,也不可能还专门去加个 ^ ,所以为了防止程序意外(碰到用户输入特殊字符时)退出,往往写成这样的形式(示例):
3、参数中的应用;
不管是 批处理文件 本身的参数,还是标签的参数,他们都是以空格作为分割符的,这样就会产生一些问题。
举例说明,测试代码:
以上代码的标签 :msg 的作用就是显示传给它的字符,如这里 call :msg ok,就是显示ok(相当于echo ok),如果要显示“我是好人”,只需要 call :msg 我是好人 即可。
但是如果要它显示 “我是 好人”,你这样调用:call :msg 我是 好人,显示的结果却是 我是,因为批处理只将空格前面的“我是”传给标签 msg,如果我们一定要显示出 “我是 好人”,就要将代码改成这样(将 我是 好人用引号括起来):
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、批处理释义:批处理(Batch),也称为批处理脚本。它是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,应用于DOS和Windows系统中。批处理文
批处理判断是否为特殊字符用于判断输入的一个字符是否为"&^>中的符号。注意,匹配字符串中的空格不可省略!批处理代码:复制代码代码如下:@echooffsetIn
系统跑批中的意思是系统正在批量处理,也称为批处理脚本,就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文
^转义符用在特殊符号之前比如:echo非常^&批处理如果不加^那么"批处理"将被当作命令执行|(管道)传递符当然是传递作用比如:echo0123456|find
^转义符用在特殊符号之前比如:echo非常^&批处理如果不加^那么"批处理"将被当作命令执行|(管道)传递符当然是传递作用比如:echo0123456|find