예약 된 작업으로 icacl을 사용하여 배치 실행 call :counter ) …… counter: …… 예약 된 작업

나는 docomentum 저장소의 모든 트리에서 권한을 수정하는 배치 파일입니다. 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:
......

예약 된 작업 (고급 권한, Windows 7 Server 2008R2) 프로그램으로 goSetPriv를 실행하면 프로그램 : \ O : \ goSetPriv.bat

하위 디렉토리와 그 안의 파일에 대한 권한을 변경하지 않고 모든 상위 디렉토리에서 빠르게 실행됩니다. cmd (예 : O :> goSetPriv.bat)에서 직접 일괄 처리를 실행하지 않으면 모든 상위 디렉토리 내의 모든 하위 폴더와 파일이 천천히 변경됩니다.

문제는 어디에 있습니까?

감사합니다



답변

해결

pushd UNC_OF_OP_DIR
FOR /D %%I in (%_docdir%) DO (
    icacls %%I /grant:r ssis_admin:R /inheritance:e /T
)

어떤 이유로이 배치를 수동으로 실행하면 모든 파일과 하위 폴더를 탐색합니다 (파일을 프롬프트하지 않음). 예약 된 작업으로 실행할 때 트래버스 스위치를 암시 적으로 추가해야합니다 (프롬프트 파일 수행).


답변