武警总队司令员的级别:用cacls列举所有子文件夹的权限状态

来源:百度文库 编辑:中财网 时间:2024/04/28 11:18:21
  我们知道,要显示或者修改文件的访问控制列表(ACL),在2003的resource kit下有showacls命令,而vista和2003 sp2下有icacls,但xp却没这两个命令,而在xp下要实现这个功能,我们只可以使用cacls,但cacls有一问题,就是它的显示功能只限于某一文件夹,而并不能像showacls和icacls那样可以显示此文件夹下的所有子文件夹。多亏了DOS强大的For命令,要实现列举子文件夹的权限功能,我们还是有方法的。
    思路:既然cacls可以显示当前文件夹的权限,那我们只需要取得当前文件夹下所有子文件夹的名字,然后再用for命令去批量运行cacls,这样就可以实现与win2003 resource kit里面的showacls命令相似的效果了。注意:为什么我说相似?因为cacls出的结果和showacls有些不一样,showacls更直观,例如cacls会用一个F代表Full Control,而showacls就非常直观显示Full control,但我相信这不会对我们造成太大影响。
    例:我们需要列举D:\kin里面所有子文件夹的权限

 dir d:\kin /ad /s /b >foldername.txt
 for /f %i in (foldername.txt) do cacls %i>>acl.txt

    运行以上的命令后会产生两个文件,foldername.txt是文件夹名字,可以删除掉,acl.txt就是我们想要的,打开acl.txt看一下,这就是所有子文件夹的权限状态了。如果对于里面的权限描述不太明白,请参考cacls命令的帮助(cacls /?)