当前位置:DOS资源站资料中心批处理教程 → 批处理中引号的用法

批处理中引号的用法

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-5-12 15:11:12

在批处理中用引号有点好处,就是可以增强代码的健壮性。大体可以用在下面这几个方面:

1、在含有空格的路径中使用引号。

文件和目录中含有空格的情况,注册表项的路径中含有空格的情况下都需要使用双引号。       

比如我们要列出“C:\Program Files”目录中的文件和目录,直接用下面的命令是会提示找不到文件的:

dir /b C:\Program Files
可以用引号来包含含有空格的部分,这样就可以列出目录中的内容,一下几种情况应该都可以正常的输出内容:

dir /b "C:\Program Files"
或者省略最后面的引号:

dir /b "C:\Program Files
注意,如果此时最后面省略引号的话,必须保证后面没有空格,否则也会报错。

还可以这样:

dir /b C:\Program" "Files
甚至:

dir /b C:"\Program File"s
只要用成对的双引号将含有空格的部分引用起来就可以了。

第3种省略最后引号的情况有点特殊,这种情况下,在命令行末尾隐含有一个引号。比如:

echo "www.cmdos.net | findstr cn-dos
并非显示的是“"www.cmdos.net"”,而是显示的

"www.cmdos.net | findstr cn-dos
2、在if条件判断的时候使用引号。

很多同学喜欢用这样的语句来判断一个变量和一个指定的字符串是否相等:

@echo off
set /p str=请输入字符串:
if #%str% == #cn-dos (echo %%str%% = cn-dos) else (echo error)
在这里,我强烈建议大家用双引号将比较的两个对象都引起来,如果不用双引号,此时如果用户输入的是一个含有空格的字符串(比如“cn dos”),此时就会报错了,而如果此处用的是双引号将“==”两边的对象引用起来,那么就算用户输入了含有空格的字符串也不会报错了。

3、使用find命令的时候使用引号。

使用find命令的时候必须使用双引号引用搜索字符,findstr可以不用引号,但是还是建议都用引号。

find 查找文件中的字符时,搜索字符和待搜索的文件参数位置可以颠倒,比如

find "echo" a.bat

find a.bat "echo"
的效果是一样的,都是在“a.bat” 文件中查找含有字符串“echo” 的行。

4、要显示一个含有特殊字符(& ||)的字符串时使用引号。

比如要在一个字符串中查找是否含有“&” 字符时用引号:

echo "!@#$%&&*()_\||" | findstr "&&" >nul && echo OK
5、在一些命令的参数中,也需要使用引号。

比如 tasklist 命令中的 /FI 的参数必须用引号括起。

tasklist /FI "PID le 1024"
搜索ProcessID小于等于1024的进程。

wmic 的 where 从句,三方工具 sed、grep、awk 的参数中,etc……
 

  • ·上一篇文章:用VBS做的断点续传
  • ·下一篇文章:批处理发邮件
  • ·百度中搜索更多的关于“批处理中引号的用法”相关内容
  • ·谷歌中搜索更多的关于“批处理中引号的用法”相关内容
  • ******申明******
  • 本站文章内容有部分为收录网络中其他网友内容,DOS资源站不保证所有的代码都适合你使用。
  • 由于编辑匆忙,有可能造成某些脚本文件出现丢失代码或代码无法运行的情况,请网友根据情况自行修改。
  • 如果能将出错部分反馈给我,那就更好了。