답변:
명령 줄 사용법 :
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
/f
이후 에 필요한 for
가요? 도움말 문서에 따르면 /f
플래그가 열리고 각 파일을 읽습니다. 파일을 에코하거나 이름을 바꾸는 데 필요합니까?
'dir /b "c:\program files"'
그것이 있어야`dir /b "c:\program files"`
가장 쉬운 방법 :
명령 행에서 다음을 사용하십시오.
for %f in (*.*) do echo %f
배치 파일에서 (% 퍼센트 부호를 두 배로) :
for %%f in (*.*) do echo %%f
폴더가 1 번째 매개 변수로 지정된 배치 파일에서 :
for %%f in (%1\*.*) do echo %%f
dir /B
출력 을 평가할 때보 다 가장 쉬울뿐만 아니라 훨씬 더 우아 for
합니다.
사용하다
for /r path %%var in (*.*) do some_command %%var
와:
%%var was unexpected at this time.
정확한 예를 들어 줄 수 있습니까? 나는 다양한 변형을 시도했다for /r . %%var in (*.*) do echo %%var
또 다른 방법:
for %f in (*.mp4) do call ffmpeg -i "%~f" -vcodec copy -acodec copy "%~nf.avi"
"%~nf"
는 확장자가없는 파일 이름을 나타내며, 여기서 부분적으로 f
지정된 변수의 이름입니다 for
. 문서 : docs.microsoft.com/en-us/previous-versions/windows/it-pro/…