在批次 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

進一步閱讀

相關內容