批处理嵌套循环不适用于错误级别

时间:2018-10-16 14:28:47

标签: loops batch-file nested errorlevel

我对嵌套循环和错误级别的用法有疑问。我想删除具有批处理文件的多台计算机上的文件。为此,我有一个遍历计算机的批处理文件,并调用另一个删除文件的批处理文件。在某些计算机上,我想删除第二个文件夹中的文件。 代码的第一部分按预期工作,但是带有嵌套循环的第二部分不起作用。代码是:

SETLOCAL enabledelayedexpansion
REM %1 is a parameter from the calling batch file
FOR %%A IN (M:\Folder\) DO del /Q "%%A" 2>&1 1> NUL | find /V "" 1> NUL 2>&1 & IF ERRORLEVEL 1 (1> NUL ver) ELSE (2> NUL SET =)
IF !ERRORLEVEL! == 1 ( 
    ECHO !ERRORLEVEL!
) ELSE (
    ECHO OK
)
FOR %%N IN (%computers%) do (
IF %%N EQU %1 (
        FOR %%A IN (M:\Folder2\) DO del /Q "%%A" 2>&1 1> NUL | find /V "" 1> NUL 2>&1 & IF ERRORLEVEL 1 (1> NUL ver) ELSE (2> NUL SET =)
        IF !ERRORLEVEL! == 1 ( 
            ECHO !ERRORLEVEL!
        ) ELSE (
            ECHO OK
        )
    )
)

0 个答案:

没有答案