目前有一个批处理文件,用于使用 takeown 和 icacls 命令替换 NTFS 权限,我已将这些命令添加到循环中,效果很好。
有没有办法在显示某个响应时退出循环?像“处理0个文件失败”或类似的东西?我正在使用的代码如下,希望这对其他人也有帮助。
@echo off
setlocal enabledelayedexpansion
for /l %%x in (1,1,1000) do (
echo Taking ownsership of Folders & Files - loop %%x
for /f "delims=" %%i in ('takeown.exe /R /A /F "F:\Shares\NetBackup Clients" /D N ^| findstr /i /C:"Failed processing 0 files"') do (
set "error=%%i"
if "!errorlevel!"=="0" goto :end
)
echo Applying permissions to filestore - loop %%x
icacls.exe "F:\Shares\NetBackup Clients" /grant "Domain\Group":F /grant "Domain\Group":R /T /C
echo Finished applying permissions to filestore - loop %%x >> C:\Loopy.txt
)
goto :eof
:end
echo %error%
非常感谢