2017-10-20 1 views
0

다음을 수행하기위한 명령 스크립트를 작성하려고합니다. 특정 디렉토리의 각 파일에 대해 파일 이름과 파일 크기를 가져 오려고합니다. 파일 이름이 내가 찾고있는 파일 크기가 0보다 큰 경우 파일을 처리하려고합니다.재귀 적 스위치를 사용하지 않고 디렉토리에서 파일 이름과 파일 크기를 가져옵니다.

파일 이름을 제대로 가져올 수 있지만 재귀 적 스위치를 사용하지 않으면 파일 크기를 가져올 수 없습니다.

이 코드는 작동하지만 나는 그것이 하위 디렉토리에보고 싶지 않은 :

for /f "delims=" %%f in ('dir /s /b /a-d "%input_directory%" ') do (
    set filename=%%~nxf 
    set filesize=%%~zf 
) 

나는 주위를 둘러 보았다했지만 내가 원하는 것을 찾을 수 없었다. 어떤 도움을 주시면 감사하겠습니다.

답변

0

나는 그것을 마침내 발견했습니다. 여기 내가 그 일을 끝내기 위해 사용했던 것들이 있습니다.

for /f "tokens=*" %%f in ('dir /b "%input_directory%" ') do (
    set filename=%%~nf 
    if !filename!==somename (set validname=Y) 
    if !validname!==Y (
     for %%a in ("%input_directory%\!filename!") do (
      set filesize=%%~za 
      if !filesize!==0 (
       log as empty file 
      ) else (
       process file 
      ) 
     ) 
    ) 
) 
관련 문제