@echo off
for /f "delims=" %%a in ('dir/s/b/a *.txt') do call :a "%%a"
goto :EOF
:a
set b=%~a1
set c=
if %b:~1,1%==r set c= +r
if %b:~3,1%==h set c=%c% +h
if %b:~4,1%==s set c=%c% +s
if not "%c%"=="" (attrib -s -h -r %1
cd.>%1
attrib%c% %1) ELSE cd.>%1
这个应该是你最需要的吧,不生成临时文件
@echo off
for /f "delims=" %%a in ('dir/s/b/a *.txt') do cd.>"%%a"||call :a "%%a"
goto :EOF
:a
set b=%~a1
set c=
if %b:~1,1%==r set c= +r
if %b:~3,1%==h set c=%c% +h
if %b:~4,1%==s set c=%c% +s
attrib -s -h -r %1
cd.>%1
attrib%c% %1
这个有错误提示,但是运行正常
Originally posted by 不得不爱 at 2008-1-11 12:28 PM:
@echo off
for /f "delims=" %%a in ('dir/s/b/a *.txt') do cd.>"%%a"||call :a "%%a"
goto :EOF
:a
set b=%~a1
set c=
if %b:~1,1%==r set c= +r
if %b:~3,1%==h set ...