Ich versuche eine Schleife mit Werten zu befüllen, die aus einem Array kommen. Aber leider steht immer nur der zuletzt abgefragte Wert in der Variable. Woran kann das liegen? Bin in Batch echt nicht gut bewandert.
Gibt man bei beiden Fragen Y ein, erhält man ~1 als Resultat. Gewünscht ist aber "A.txt" "B.txt".
Code:
@echo off
set FILE_LIST=
setlocal enabledelayedexpansion
for %%s in ("A.txt" "B.txt") do (
CALL SET /p Q="Add %%s to list? (Y / N) "
IF /I "%Q%" EQU "Y" (
if .!FILE_LIST!==. (
SET FILE_LIST=%%s
) ELSE (
SET FILE_LIST=!FILE_LIST! %%s
)
)
)
set FILE_LIST=!FILE_LIST:~1!
echo !FILE_LIST!
endlocal
Gibt man bei beiden Fragen Y ein, erhält man ~1 als Resultat. Gewünscht ist aber "A.txt" "B.txt".
Zuletzt bearbeitet: