반응형
배치 스크립트를 사용하여 디렉토리의 각 파일에 작업을 수행하는 방법
.bat 또는 .cmd 파일로 디렉토리의 각 파일을 어떻게 반복합니까?
간단한 설명을 위해 파일 이름 또는 파일 경로에 따라 답변을 제공하십시오.
명령줄 사용:
for /f %f in ('dir /b c:\') do echo %f
배치 파일 사용:
for /f %%f in ('dir /b c:\') do echo %%f
업데이트: 디렉토리에 이름에 공백이 있는 파일이 포함된 경우 구분 기호를 변경해야 합니다.for /f
명령이 사용 중입니다.예를 들어 파이프 문자를 사용할 수 있습니다.
for /f "delims=|" %%f in ('dir /b c:\') do echo %%f
업데이트 2: (원답 후 1년 반 후 빠른 :-) 디렉터리 이름 자체에 이름에 공백이 있는 경우,usebackq
의 옵션for
:
for /f "usebackq delims=|" %%f in (`dir /b "c:\program files"`) do echo %%f
출력 리디렉션 또는 명령 파이프를 사용해야 하는 경우 이스케이프 문자(^
):
for /f "usebackq delims=|" %%f in (`dir /b "c:\program files" ^| findstr /i microsoft`) do echo %%f
또는 다음을 사용합니다.
forfiles /s /m *.png /c "cmd /c echo @path"
for files 명령은 Windows Vista 이상에서 사용할 수 있습니다.
가장 쉬운 방법:
명령줄에서 다음을 사용합니다.
for %f in (*.*) do echo %f
배치 파일에서(%% 기호를 두 배로 늘림):
for %%f in (*.*) do echo %%f
첫 번째 매개 변수로 지정된 폴더가 있는 배치 파일에서:
for %%f in (%1\*.*) do echo %%f
사용하다
for /r path %%var in (*.*) do some_command %%var
포함:
- 경로는 시작 경로입니다.
- %%var는 어떤 식별자입니다.
- 파일 마스크 또는 변수의 내용입니다.
- some_command는 경로와 var를 매개 변수로 연결하여 실행하는 명령입니다.
다른 방법:
for %f in (*.mp4) do call ffmpeg -i "%~f" -vcodec copy -acodec copy "%~nf.avi"
디렉터리의 모든 파일을 숨김/시스템/읽기 전용으로 표시하는 악성 프로그램이 있습니다.다른 사람이 이런 상황에 처하면 디렉토리에 cd를 넣고 실행합니다.for /f "delims=|" %f in ('forfiles') do attrib -s -h -r %f
.
언급URL : https://stackoverflow.com/questions/180741/how-to-do-something-to-each-file-in-a-directory-with-a-batch-script
반응형
'programing' 카테고리의 다른 글
현재 클래스를 반환 유형 주석으로 배치 (0) | 2023.05.03 |
---|---|
현재 분기에 대한 추적 정보가 없습니다. (0) | 2023.05.03 |
bash에서 부동소수점 산술을 어떻게 사용합니까? (0) | 2023.04.28 |
cmd 단위로 간단한 파일 검색을 수행하는 방법 (0) | 2023.04.28 |
IIS Express용 web.config에 MIME 매핑 추가 (0) | 2023.04.28 |