【问题标题】:Mysterious Echo Rules in Batch批量神秘回声规则
【发布时间】:2013-06-29 16:08:57
【问题描述】:

我正在制作一个批处理程序,它应该类似于我制作的命令的简化(-ish)命令提示符。不过,我想知道关于这行批处理编码,我已将其缩小为致命错误(导致运行程序的 cmd.exe 关闭)导致行:echo One(1) application is within this folder。当我尝试通过输入运行该部分的命令进入该部分时,它指出:application was unexpected at this time 然后立即关闭。我也尝试用“程序”替换“应用程序”,但无济于事。我想知道:所有神秘的回声参数/规则是什么。例如echo text >> name.extention 是可能的,但是输入echo /? 不会给你任何东西,除了@echo on/offecho text

我认为这与 () 有关,因为在其他语言中,它用于调用带有 () 中的参数的函数,但我不明白为什么会这样,因为它没有运行"One" 函数,因为它在回声中,只是为了按字面意思显示它。另外,我不相信批处理具有可以这样调用的函数(我只在 VB、lua、java 和 C++ [我使用的那些] 中看到它们)

如果有人知道程序在这一行失败的原因,和/或(最好和)所有其他隐藏的回显规则,请为我们列出它们;他们真的需要知道(我在这个网站 [和其他] 上看到了很多关于 echo 命令的问题)。

【问题讨论】:

  • 请尝试购买Windows Command Shell Language教科书,这里是不是教程频道。

标签: batch-file


【解决方案1】:

在您拥有if expression (whatever1) else (whetever2) 的块语句中,您需要使用插入符号^ 转义右括号)^)

转义告诉批处理 ) 不是 then/else 的终止

【讨论】:

  • 好的,这实际上很有意义;我最初认为不可能是这样,因为有一个 open 可以与之配对,但它必须将第二个 open 作为文字,因为它没有 if 语句,谢谢。
猜你喜欢
  • 2014-06-05
  • 2015-05-06
  • 1970-01-01
  • 2019-12-01
  • 2011-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多