Answers:
要执行Jesse描述的操作,需要从Windows批处理文件中编写:
for /f "delims=" %%a in ('ver') do @set foobar=%%a
但是,如果您习惯使用Unix类型的脚本,我建议在Windows系统上使用Cygwin。
bash
。然后,您可以编写bash命令。您还可以执行bash脚本。
由于Windows批处理命令,需要特别小心一点:
for /f "delims=" %%a in ('command') do @set theValue=%%a
与Unix shell语句的语义不同:
theValue=`command`
考虑命令失败导致错误的情况。
在Unix Shell版本中,仍然会分配“ theValue”,所有先前的值都将替换为空值。
在Windows批处理版本中,使用“ for”命令处理错误,并且永远不会到达“ do”子句-因此,将保留“ theValue”的任何先前值。
要在Windows批处理脚本中获得更多类似Unix的语义,必须确保进行分配:
set theValue=
for /f "delims=" %%a in ('command') do @set theValue=%%a
将Unix脚本转换为Windows批处理时未能清除变量的值可能是导致细微错误的原因。
command
;例如:for /f "delims=" %%a in ('command1 ^| command2') do set VAR=%%a
。
for /f "delims=" %a in ('ver') do @set foobar=%a
在命令提示符下使用。for /f "delims=" %%a in ('ver') do @set foobar=%%a
在脚本文件中使用