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