为什么这个命令不起作用?我该如何纠正?
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