第一步,删除A1~F5这30个目录:FOR %%X IN (A B C D E F) DO FOR %%Y IN (1 2 3 4 5) DO RD/S/Q %%X%%YFOR…IN…DO…是一个循环结构,注意变量名称是区分大小写的。
在这个二重循环嵌套里,第一次循环%%X值取A,执行FOR %Y IN (1 2 3 4 5) DO RD/S/Q A%Y 命令,删除A1、A2、A3、A4、A5;第二次循环%%X值取B,执行FOR %Y IN (1 2 3 4 5) DO RD/S/Q B%Y 命令,删除B1~B5……依此类推,共进行6次循环,执行30次删除目录操作。RD/S删除非空目录,/Q表示为安静模式(Quiet),即不询问。
第二步,重建这30个目录:FOR %%X IN (A B C D E F) DO FOR %%Y IN (1 2 3 4 5) DO MD %%X%%Y重建后的A1~F5这30个文件夹图标,都有一个手形共享标志——竟然奇迹般地“记住”了先前的这30个文件夹的共享属性!
第三步,分别为这30个目录设置不同的权限:FOR %%X IN (A B C D E F) DO FOR %%Y IN (1 2 3 4 5) DO CACLS D:\PXE\%%X%%Y /E /G %%X%%Y:F /R PXEclass CACLS用来显示或者修改文件的访问控制表(ACL)即访问权限。这行命令的作用是为30个目录(A1~F5)添加一个自身用户并赋予全部权限(/E /G %%X%%Y:F);同时撤消一个PXEclass组权限(/R PXEclass)。PXEclass组是从其父目录(D:\PXE)继承而来,A1~F5都隶属于该组,之所以要撤消该组权限,目的是为了限制学生相互访问恶意删除他人文件。至于另三个全权用户(Administrator、System、Lnguest),MD在重建30个目录时已自动从D:\PXE继承了!