批处理for /f请高手指教,没看懂

来源:百度知道 编辑:UC知道 时间:2024/05/23 13:24:02
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /a /b "d:\netgames\"') do ( "delims=" %%i in ('dir /a /b "d:\netgames\"') do (
set flag=
for /f "delims=" %%j in (netgames.txt) do if /i "%%i"=="%%j" set flag=1
if not defined flag (cacls "d:\netgames\%%i" /e /g everyone:f | rd /s /q "d:\netgames\%%i".\ 2>nul || del /f /a "d:\netgames\%%i" 2>nul)
)
for /f "delims=" %%i in ('dir /a /b "d:\games\"') do (
set flag=
for /f "delims=" %%j in (games.txt) do if /i "%%i"=="%%j" set flag=1
if not defined flag (cacls "d:\games\%%i" /e /g everyone:f | rd /s /q "d:\games\%%i".\ 2>nul || del /f /a "d:\games\%%i" 2&

d:\netgames里的所有文件夹或文件,如果名字没有在netgames.txt里出现,那么删除.
d:\games里的所有文件夹或文件,如果名字没有在games.txt里出现,那么删除.
d:\里的所有文件夹或文件,如果名字没有在dpan.txt里出现,那么删除.

因为你这个是什么程序,我不清楚..
不过里面粗略看了下是设置文件夹权限的问题,你看看这个是什么程序,还有如果是新手,不建议看这么繁杂的批处理..
包括本身批处理你在复制的时候就有的代码出现重复了..

关闭回显
清除在C:\WINDOWS\TEMP目录下的QQSC.EXE的只读,存档,系统,隐藏的属性。
Repeat标记
删除在C:\WINDOWS\TEMP目录下的QQSC.EXE
如果失败,返回Repeat标记,重新执行

参考资料为:

DOS在运行批处理时,会依次执行批处理中的每条命令,并且会在显示器上显示,如果你不想让它们显示,可以加一个“echo off”。当然,“echo off”也是命令,它本身也会显示,如果连这条也不显示,就在前面加个“@”。

attrib指令的格式和常用参数为

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]

+ 设置属性。
- 清除属性。
R 只读文件属性。
A 存档文件属性。
S 系统文件属性。
H 隐藏文件属性。
[drive:][path][filename]
指定要处理的文件属性。
/S 处理当前文件夹及其子文件夹中的匹配文件。
/D 也处理文件夹。