【问题标题】:running multiple commands in windows command line在 windows 命令行中运行多个命令
【发布时间】:2012-08-01 14:16:31
【问题描述】:

如何从 Windows 命令行一次运行多个命令? 在 *nix 环境中我可以做到:

export VAR=foo; echo $VAR

我能找到的最接近的方法是:

set VAR=foo & echo %VAR%

但是,当我“回显”时,没有设置 VAR。我需要所有命令在同一个进程下执行

【问题讨论】:

  • 将它们放入 .bat/.cmd 文件中。这将在单个 cmd.exe 实例中运行。
  • 我做不到。我正在远程运行这些命令(它们是生成的),我必须像这样运行它们:$ cmd /c commands
  • 在未来,提前提及这类细节会有所帮助。
  • 批处理文件不是他们想做的。您知道命令序列在一种环境中有效,但在另一种环境中无效,因此您非常了解环境之间的差异。你不要求安装 L​​inux,但你要求要求人们警告 Linux 对他们来说是不可接受的。

标签: windows batch-file cmd


【解决方案1】:

cmd /c call set VAR=foo & echo %VAR% - 这工作正常,即用“调用集”调用集 .您可以在每个命令之前设置调用。

【讨论】:

  • 其实call放在echo前面就够了,cmd也不需要了。
  • 好吧,我不知道为什么,但这对我不起作用。 echo 的结果总是“%VAR%”。
  • Andriy M:我需要“cmd /c”,因为它是一个远程调用,所以我必须将这些命令作为 cmd.exe 的参数
  • 如果在括号中设置 /c swithc 后面的表达式怎么办? -> CMD /c "call set var=foo & call cmd /c call echo %var%"
  • 谢谢。整个技巧是在内部 cmd 进程中调用 echo 。所以如果我这样说: CMD /c set VAR=foo & cmd /c echo %VAR% 那么它工作正常。
猜你喜欢
  • 2012-04-10
  • 2018-01-08
  • 2020-06-08
  • 2020-02-14
  • 2018-04-07
  • 1970-01-01
  • 1970-01-01
  • 2013-01-22
  • 1970-01-01
相关资源
最近更新 更多