|  | 
 
| 在批处理中用引号有点好处,就是可以增强代码的健壮性。大体可以用在下面这几个方面: 
 1、在含有空格的路径中使用引号。
 
 文件和目录中含有空格的情况,注册表项的路径中含有空格的情况下都需要使用双引号。
 
 比如我们要列出“C:\Program Files”目录中的文件和目录,直接用下面的命令是会提示找不到文件的:可以用引号来包含含有空格的部分,这样就可以列出目录中的内容,一下几种情况应该都可以正常的输出内容:
 或者省略最后面的引号:注意,如果此时最后面省略引号的话,必须保证后面没有空格,否则也会报错。复制代码dir /b "C:\Program Files"
 还可以这样:
 甚至:复制代码dir /b C:\Program" "Files
只要用成对的双引号将含有空格的部分引用起来就可以了。复制代码dir /b C:"\Program File"s
 第3种省略最后引号的情况有点特殊,这种情况下,在命令行末尾隐含有一个引号。比如:
 并非显示的是“"www.cn-dos.net"”,而是显示的复制代码echo "www.cn-dos.net | findstr cn-dos
2、在if条件判断的时候使用引号。复制代码"www.cn-dos.net | findstr cn-dos
 很多同学喜欢用这样的语句来判断一个变量和一个指定的字符串是否相等:
 在这里,我强烈建议大家用双引号将比较的两个对象都引起来,如果不用双引号,此时如果用户输入的是一个含有空格的字符串(比如“cn dos”),此时就会报错了,而如果此处用的是双引号将“==”两边的对象引用起来,那么就算用户输入了含有空格的字符串也不会报错了。复制代码@echo off
set /p str=请输入字符串:
if #%str% == #cn-dos (echo %%str%% = cn-dos) else (echo error)
 3、使用find命令的时候使用引号。
 
 使用find命令的时候必须使用双引号引用搜索字符,findstr可以不用引号,但是还是建议都用引号。
 
 find 查找文件中的字符时,搜索字符和待搜索的文件参数位置可以颠倒,比如和的效果是一样的,都是在“a.bat” 文件中查找含有字符串“echo” 的行。
 
 4、要显示一个含有特殊字符(& ||)的字符串时使用引号。
 
 比如要在一个字符串中查找是否含有“&” 字符时用引号:
 5、在一些命令的参数中,也需要使用引号。复制代码echo "!@#$%&&*()_\||" | findstr "&&" >nul && echo OK
 比如 tasklist 命令中的 /FI 的参数必须用引号括起。
 搜索ProcessID小于等于1024的进程。复制代码tasklist /FI "PID le 1024"
 wmic 的 where 从句,三方工具 sed、grep、awk 的参数中,etc……
 | 
 |