Warum funktioniert dieser Befehl nicht? Wie kann ich das beheben?
for /F %%i in ('dir c:\logs /A:-D/B') do @echo %%i:~0,5%
Antwort1
Warum funktioniert dieser Befehl nicht?
für /F %%i in ('dir c:\logs /A:-D/B') mache @echo %%i:~0,5%
Sie müssen eine temporäre Variable verwenden, da Sie aus einer Schleifenvariable keinen Text extrahieren können.
Sie benötigenverzögerte Expansion.
Versuchen Sie die folgende Befehlsdatei:
@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