如何在bat中编写for循环并在每次迭代时执行命令

时间:2017-06-22 12:37:37

标签: batch-file cmd

我想在bat脚本

中完成以下操作

我想创建一个数组,其中元素由空格分隔,例如:

array = host1 host2 host3

在该数组上运行for循环,其中每个元素作为参数传递给命令,例如:psexec //host1 cmd同样应将所有服务器名称作为参数传递。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以使用以下列表进行尝试:

@echo off 
set list=host1 host2 host3
(for %%a in (%list%) do ( 
   ;dosomething with %%a;
))

设置列表时请注意,=

之前和之后不要放置任何空格

答案 1 :(得分:1)

for %%a in (%array%) do echo %%a

直接在命令行上使用,将每个%%a替换为%a