【问题标题】:Explanation of this weird commenting style in batch批量解释这种奇怪的评论风格
【发布时间】:2020-04-20 13:26:21
【问题描述】:

我最近学习了一种在批处理文件中以任何语言样式进行注释的方法。它是:

<nul set /p="=" # Powershell or python style
<nul set /p="=" // Java script style

这里省略了 = 并且该行被完全忽略。在这里任何解释表示赞赏。

谢谢!

【问题讨论】:

  • 你的问题对我来说毫无意义。为什么您发布了两行 windows cmd/batch-file 并包含对两种完全不同的编程语言的评论? cmd.exe 使用不区分大小写的 rem 来添加备注/cmets,尽管有时人们也会使用损坏的标签标识符 ::。我见过的最好的评论方式是最初由 Dave Benham 倡导的,它为 cmets 使用未定义的变量。
  • 感谢@Compo 的回复。我只想知道解释。而且是另一种语言的评论风格,不需要咨询那些语言的专家,所以我觉得没有必要添加这些标签。
  • 我忘了给你提供一个例子,Wasif Hasan,here's one,还有一些可能相关的问题,here,和here。我希望你觉得它们有用。

标签: windows batch-file cmd command-prompt comments


【解决方案1】:

这使用了SET 命令的扩展语法。

set "varname=content"

引号在 varname 之前和内容的末尾,这样可以避免 意外的空格,就像最后一个引号被删除后的任何内容一样。

只要最后一个引号后没有引号、& 符号或管道,它就可以用于 cmets。

您的示例 &lt;nul set /p="=" 导致语法错误,因为它以等号开头。
应该是&lt;nul set /p"=",然后按预期工作。

&lt;nul set /p 语法可用于输出不带换行符的文本。但在这种情况下,不会打印任何内容,因为只有一个等号没有任何文本要输出。

【讨论】:

  • 好吧,set /p="=" 会在我的 Windows 10 机器上导致语法错误,但 set /p "=" 当然会起作用...
  • @aschipfl 谢谢,你是对的。我应该以前测试过。我编辑了我的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-30
  • 2016-03-08
相关资源
最近更新 更多