急死了……系统还原
D:
CD \PXE
FOR %%X IN (A B C D E F) DO FOR %%Y IN (1 2 3 4 5) DO RD/S/Q %%X%%Y
FOR %%X IN (A B C D E F) DO FOR %%Y IN (1 2 3 4 5) DO MD %%X%%Y
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
该批处理文件中的DOS命令都是针对Windows 2000操作系统自带的DOS命令,而不是Windows 9...全部
D:
CD \PXE
FOR %%X IN (A B C D E F) DO FOR %%Y IN (1 2 3 4 5) DO RD/S/Q %%X%%Y
FOR %%X IN (A B C D E F) DO FOR %%Y IN (1 2 3 4 5) DO MD %%X%%Y
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
该批处理文件中的DOS命令都是针对Windows 2000操作系统自带的DOS命令,而不是Windows 98里的DOS命令。
因为DOS中没有清空目录的命令,所以,只有分三步走了:
第一步,删除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继承了!
批处理文件的高明之处在于:删除和重建这30个目录不需写长长的30行RD命令,而只要一个FOR循环嵌套就行了。
由于在删除时没有取消共享,这30个目录重建后会保持原有的共享设置。收起