2016-08-02
在批处理中,引号(")有时作为一个“特殊字符”的面貌出现,给批处理的编写还会造成一定的困扰,但是它在批处理代码编写的过程中又起到一些不可替代的作用,下面列举它的一些特殊使用。
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,如果我们一定要显示出 “我是 好人”,就要将代码改成这样(将 我是 好人用引号括起来):

像素拼图最新版下载v5.01 安卓版
其它手游 23.76MB
下载
机器人战斗竞技场手机版下载v3.71 安卓版
其它手游 77.19MB
下载
果冻人大乱斗最新版下载v1.1.0 安卓版
其它手游 113.98MB
下载
王者100刀最新版下载v1.2 安卓版
其它手游 72.21MB
下载
trueskate真实滑板正版下载v1.5.102 安卓版
其它手游 83.48MB
下载
矢量跑酷2最新版下载v1.2.1 安卓版
其它手游 119.39MB
下载
休闲解压合集下载v1.0.0 安卓版
其它手游 33.41MB
下载
指尖游戏大师最新版下载v4.0.0 安卓版
其它手游 74.77MB
下载飞天萌猫下载v3.0.3 安卓版
下载
火柴人越狱大逃脱下载v1.1 安卓版
下载
末日战场生死局下载v1.0 安卓版
下载
安静书女孩世界下载v1.0 安卓版
下载
消个寿司下载v1.00 免费版
下载
趣味找猫猫下载v1.1.2 安卓版
下载
方块男孩大战恶霸最新版下载v1.0.18 安卓版
下载
根本难不倒我下载v1.0.1 最新版
下载