일괄 For 루프에서 echo %%i:~0,5%가 작동하지 않습니다.

일괄 For 루프에서 echo %%i:~0,5%가 작동하지 않습니다.

이 명령이 작동하지 않는 이유는 무엇입니까? 어떻게 수정할 수 있나요?

for /F %%i in ('dir c:\logs /A:-D/B') do @echo %%i:~0,5%

답변1

이 명령이 작동하지 않는 이유는 무엇입니까?

for /F %%i in ('dir c:\logs /A:-D/B') do @echo %%i:~0,5%

루프 변수에서는 텍스트를 추출할 수 없으므로 임시 변수를 사용해야 합니다.

당신은 사용해야합니다지연된 확장.

다음 cmd 파일을 사용해 보세요.

@echo off
setlocal enabledelayedexpansion
for /F %%i in ('dir c:\logs /A:-D/B') do (
   set _temp=%%i
   set _result=!_temp:~0,5!
   echo !_result!
   )
endlocal

추가 자료

관련 정보