日期:2014-05-17  浏览次数:20932 次

批处理命令 cacls获取用户列表
在DOS命令里写入下面命令会得到所有用户对文件的权限。
C:\Users\Administrator>CACLS D:/1.TXT
D:\1.txt BUILTIN\Administrators:(ID)F
  NT AUTHORITY\SYSTEM:(ID)F
  NT AUTHORITY\Authenticated Users:(ID)C
  BUILTIN\Users:(ID)R

请问如何取得用户列表,即取得
BUILTIN\Administrators
NT AUTHORITY\SYSTEM
NT AUTHORITY\Authenticated Users
BUILTIN\Users

谢谢。

------解决方案--------------------
BatchFile code
@echo off & setlocal enabledelayedexpansion 
set s=D:/1.TXT
set /a i=0,l=0

:loop
set o=!s:~%i%,1!
if "%o%" neq "" (
  if "%o%" gtr "z" (set /a l+=2) else set /a l+=1
  set /a i+=1
  goto loop
)

echo %l%
pause