根据IF条件跳转到数组中的下一个批处理

时间:2016-10-21 19:18:06

标签: arrays batch-file if-statement

可能有一些简单的代码,但我似乎无法找到任何特定于我需要的东西。

我在批处理文件中有一个数组&我希望使用IF语句作为让代码继续或让它跳转到数组中的下一个的条件。 IF条件几乎只是检查C:驱动器是否存在。是否可以添加太多行?

** **是sudo代码

SET Array[01]=Server1
SET Array[02]=Server2
SET Array[03]=Server3

FOR /F "tokens=2 delims==" %%s in ('SET Array[') do (
IF NOT exist \\%%s\c$ (
    ECHO Server %%s is not reachable & **JUMP TO NEXT IN ARRAY**
) else (
    **xcopy [source] [destination]** )

1 个答案:

答案 0 :(得分:2)

您正在使用的FOR /F命令应遍历所有三个服务器。你根本不需要跳转(转到)。

这适用于我的服务器。

@echo off
SET Array[01]=server1
SET Array[02]=server2
SET Array[03]=server3

FOR /F "tokens=2 delims==" %%s in ('SET Array[') do (
    IF NOT exist \\%%s\C$ (
        ECHO Server %%s is not reachable
    ) else (
        echo xcopy [source] [destination]
    )
)
pause