setlocal
set drive_names=(C D)
set except_filenames=(a.xlsm b.xlsm c.xlsm)
for %%i in %drive_names% do (
%%i:
cd \\
for %%j in %except_filenames% do attrib +r +s %%j
del /s /q *.xlsm
for %%j in %except_filenames% do attrib -r -s %%j
)
endlocal
C,D드라이브 .xlsm확장자 중에 a.xlsm b.xlsm c.xlsm을 제외한 모든것을 삭제하는 것을 만들려고하는데 그냥 C,D드라이브에선 잘되는데 하위 디렉토리만 가면 a b c 가 다 지워지는데 어째야합니까 형님 고수님들 ㅜㅜ
attrib이 루트 디렉토리에 있는 파일만 건드리니까 그런 거. attrib에도 /s를 붙여. 근데 배치 쓰는 것보단 VBS나 파워쉘 스크립트 쓰는 걸 추천.
형님 attrib 위아래에 다 붙이면 되는건가요??
암. 그렇고 말고.
감사합니다... 복 받으실꺼에요