windows – 如何在行继续之后正确转义引用的命令?
发布时间:2021-01-25 16:43:23 所属栏目:系统 来源:网络整理
导读:运行以下示例批处理文件, echo foo ^"C:Program FilesInternet Exploreriexplore.exe" …产生以下输出: 06001 我错过了什么? 编辑 标记为,这个问题是处理Windows(XP)批处理文件. 解决方法 对不起,但几乎所有的答案都是错的,或者不明白会发生什么. 该问
运行以下示例批处理文件, echo foo &&^ "C:Program FilesInternet Exploreriexplore.exe" …产生以下输出:
我错过了什么? 编辑 标记为,这个问题是处理Windows(XP)批处理文件. 解决方法对不起,但几乎所有的答案都是错的,或者不明白会发生什么.该问题与cmd-line无关,或者是否在批处理文件中. 插入符号多行字符的规则: echo foo ^ && echo bar ---- OUTPUT --- foo & bar --------------- rem equivalent to echo foo ^&& echo bar rem So the first ampersand is escaped and the second works as a single & 这也是原始代码无法工作的原因 echo foo &&^ "C:Program FilesInternet Exploreriexplore.exe" rem is equivalent to this,so the quote will be escaped echo foo &&^"C:Program FilesInternet Exploreriexplore.exe" 为什么其他解决方案有效? echo foo &&^ cmd /c "C:Program FilesInternet Exploreriexplore.exe" rem is equivalent to echo foo &&^cmd /c "C:Program FilesInternet Exploreriexplore.exe" 如果你正在逃避“c”与否“对于”cmd“并不重要. 有一种方法可以使第二行无需修改即可运行. echo foo && >con ^ "C:Program FilesInternet Exploreriexplore.exe" 这是一个特殊情况的特殊情况,插入符号作为普通多行,但不会转义第一个字符. (我想,cmd.exe没有编程,它来自混乱). (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |