我有一个批处理文件,可以修复文档存储的所有树中的权限。它位于 UNC 操作目录中。
goSetPriv.bat
@echo off
set /a _cnt=0
set _docdir="UNC_DCTM_PATH_TO_SCAN\*"
if (%1) NEQ () set _docdir="%*"
set _start=%date:~4,10% %time%
pushd UNC_OF_OP_DIR
FOR /D %%I in (%_docdir%) DO (
icacls %%I /grant:r ssis_admin:R /inheritance:e > nul
call :counter
)
......
counter:
......
当我将 goSetPriv 作为计划任务运行时(最高权限,Windows 7 Server 2008R2)程序:\O:\goSetPriv.bat
它快速遍历所有父目录,而不更改子目录和其中文件的权限。当我不直接从 cmd 运行批处理(即 O:>goSetPriv.bat)时,它会缓慢地更改所有父目录中的所有子文件夹和文件。
哪里有问题 ?
谢谢
答案1
解决了
pushd UNC_OF_OP_DIR
FOR /D %%I in (%_docdir%) DO (
icacls %%I /grant:r ssis_admin:R /inheritance:e /T
)
由于某种原因,手动运行此批处理将遍历所有文件和子文件夹(不提示文件)。当您将其作为计划任务运行时,您必须隐式添加遍历开关(提示文件)