DOS命令行中的双引号
在DOS命令窗口下,运行C:\Program Files\WinRAR\WinRAR.exe,提示如下错误:

因为C:\Program Files\WinRAR\WinRAR.exe中含有空格,它被分成了两个部分:C:\Program和Files\WinRAR\WinRAR.exe。DOS命令窗口会把C:\Program当做C:\Program.exe或C:\Program.bat,而把Files\WinRAR\WinRAR.exe当做命令行参数传递给C:\Program.exe或C:\Program.bat。因为C:\Program.exe和C:\Program.bat都不存在,所以显示了上图所示的错误信息。
解决办法就是加上双引号,如下图所示:

这样,DOS命令窗口就知道要执行C:\Program Files\WinRAR\WinRAR.exe了。
还可以这样加双引号:

所以:DOS命令行中的双引号一般情况下都会被忽略掉,它的作用仅仅是防止空格被当做分隔符。
现在,如下图所示,想给程序vsyasm.exe传递一个参数,此参数就是一个双引号。结果就是vsyasm根本接收不到双引号这个参数。

此时,命令应该写成这样:

也就是说:DOS命令行中的\"会被解释为"
接下来,坑来了。如下图所示:调用vsyasm.exe编译d:\1.asm,输出目录被设置为c:\

上述命令行预期的是被分成四部分:
|
vsyasm |
-o |
c:\ |
d:\1.asm |
事实上却是被分成了三个部分:
|
vsyasm |
-o |
c:" d:\1.asm |
都是\"惹的祸。解决办法是这样的,如下图所示:

上述命令行被分成预期的四部分:
|
vsyasm |
-o |
c:\ |
d:\1.asm |
也就是说:双引号前的两个反斜杠会被替换为一个。上图双引号内的反斜杠后面紧跟着双引号,所以两个反斜杠被解释为一个反斜杠,同时右边的双引号说明字符串结束了。
再看看下图所示的命令行会被解释成什么?

双引号内部的反斜杠后面紧跟着双引号,所以前两个反斜杠被解释为一个反斜杠,\"被解释为字符串内部的双引号,因为字符串未结束,所以后面的 d:\1.asm也会和 c:\"连接起来,最终被解释为三部分:
|
vsyasm |
-o |
c:\" d:\1.asm |
总之:DOS命令行中的\"就是一个大坑,需要慎之又慎。
DOS命令行中的双引号的更多相关文章
- dos命令行中不同磁盘的调转
windows下,dos中不同磁盘的跳转: 直接 盘符+回车: 如跳转到d盘: D:回车即可 : Microsoft Windows [版本 10.0.10586] (c) 2015 Microsof ...
- 学习dos命令行总结
dir:列出当前目录下的所有文件及文件夹. md 文件夹:创建文件夹 rd 文件夹:删除文件夹 echo 文件内容>文件名(扩展名):创建带文件内容的新文件 echo 文件内容>>文 ...
- shell中的双引号,单引号,反引号
在shell中引号分为三种:单引号,双引号和反引号. 单引号 ‘ 由单引号括起来的字符都作为普通字符出现.特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释.单引号用于保持引号内所有字 ...
- shell中的双引号和单引号
参考链接:http://bbs.chinaunix.net/thread-2076396-1-1.html " "(双引号)与 ' '(单引号)的区别 你在shell prompt ...
- Windows下dos命令行
Dos命令--基本命令 1.求助命令 例如:del /? rd /? 2.基本常用命令 例如:dir :列出当前目录下的文件以及文件夹,后面可以接其他路径 md:创建目录(mkdir),一次创建多级目 ...
- dos命令行运行.class源文件错误解决办法
dos命令行运行java源文件 public static void main(String[] args) throws IOException { // TODO Auto-generated m ...
- DOS命令行简单用法
DOS命令行简单用法 基本用法 1.cd(回车)从当前目录切回到根目录. 2.dir(回车)列出当前目录下的所有文件. 3.md kkk(回车)在当前目录下创建一个名称为kkk的文件夹. 4.rd k ...
- **后台怎么处理JSON数据中含有双引号?
http://bbs.csdn.net/topics/390578406?page=1 注意是后台,不是用js另外我这个json是直接取得别人的传过来的字符串,不是我自己拼写的,所以我自己不能做到转义 ...
- dos命令行实践
本篇体验使用dos命令行窗口实现各种操作. □ 打开dos命令行窗口 →点击电脑左下角"开始"按钮→点击"运行"→输入"cmd",按回车,来 ...
随机推荐
- combotree的加载方法
<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...
- Json 入门例子【2】
<script> var json1 = { "id": 1, "tagName": "apple" }; $("#f ...
- 年轻的团队Mono玩转Dalvik
真的很羡慕这样的一个团队,年轻充满斗志. 甲骨文和谷歌正就谷歌在Android中使用Java一案展开一场10亿美元的大较量.但是Java并非在Android中建立本地应用的唯一方法.事实上,它甚至不是 ...
- 配置Python+selenium+firefox自动化测试
1.安装python.默认安装 2.安装pip.下载pip-1.5.4包,解压pip-1.5.4,放在C盘,进入pip目录-->键入命令:python setup.py install 再进入 ...
- eclipse 恢复SVN无法还原的文件 svn使用了还原,但本地的没有提交找回没提交代码的方法
http://blog.sina.com.cn/s/blog_750167060102vd2n.html
- ubuntu下mysqli_connect()显示未定义,mysqli_fetch_all()显示未定义 解决方法
mysqli_connect()显示未定义解决方法: http://www.cnblogs.com/misoag/archive/2013/01/24/2874439.html 让apache.php ...
- 面向对象--类库、委托、is和as运算符、泛型集合
类库: 其实就是一堆类文件,只是看不到这些类的源代码,保密性好. 优点:保密性好 缺点:如果这个方法不好用,使用者无法自己去更改它. 给的大多是dll文件.使用方法:引用右键,添加引用,浏览,选择到相 ...
- herf窗口点击跳转
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- EF实体框架常见问题
1,无法为具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类型“System.Data.Entity.SqlServ ...
- [Java解惑]应用
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...