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

为什么这个命令不起作用?

对于/F %%i 在('dir c:\logs /A:-D/B')中执行@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

进一步阅读

相关内容