Appendix

Script to backup or restore NTFS permissions

Below is a listing of the batch file script.

@echo off
If { %3 } == { } @echo Syntax: NTFSBKP DriveOrFolder DestinationFolder BKP^|RST&goto :EOF
if not exist % 1 @echo NTFSBKP - %1 NOT FOUND.&goto :EOF
if not exist % 2 @echo NTFSBKP - %2 NOT FOUND.&goto :EOF
if /i { %1 }== { %2 } @echo Syntax: NTFSBKP DriveOrFolder DestinationFolder BKP^|RST&goto :EOF
if /i { %3 }== { BKP } goto OK
if /i { %3 }== { RST } goto OK
@echo Syntax: NTFSBKP DriveOrFolder DestinationFolder BKP^|RST&goto :EOF
:OK
setlocal
set DorF=%1#
set DorF=%DorF:"=%
set DorF=%DorF:\#=%
set DorF=%DorF:#=%
set Fld=%2#
set Fld=%Fld:"=%
set Fld=%Fld:\#=%
set Fld=%Fld:#=%
set Sw=%3
set F1=%DorF%
set F1=%F1::\=_%
set F1=%F1:\=_%
set F2="%Fld%\%F1%_ALL.log"
set F1="%Fld%\%F1%.log"
if /i "%Sw%" EQU "RST" goto Restore
set D1="%DorF%"
set D2="%DorF%\*.*"
if exist %F1% del /q %F1%
if exist %F2% del /q %F2%
subinacl /noverbose /nostatistic /outputlog=%F1% /subdirectories %D1% /display
subinacl /noverbose /nostatistic /outputlog=%F2% /subdirectories %D2% /display
endlocal
goto :EOF
:Restore
if not exist %F1% goto :Rest1
if not exist %F2% goto :Rest2
subinacl /nostatistic /playfile %F1%
subinacl /nostatistic /playfile %F2%
endlocal
goto :EOF
:Rest1
@echo NTFSBKP %1 %2 %3 - %F1% NOT FOUND.
endlocal
goto :EOF
:Rest2
@echo NTFSBKP %1 %2 %3 - %F2% NOT FOUND.
endlocal