Ich bin neu in Windows-Batch-Scripting. Versuchen, Werte aus der Textdatei Ignore.txt Datei zu erhalten und sie als lokale Variablen zu speichern.Token-Werte von for-Schleife in Windows abrufen Batch
Befehl Datei:
@Echo off
setlocal enabledelayedexpansion
for /F "tokens=1,2,3" %%i in (Ignore.txt) do (
echo. %%i
echo. %%j
echo. %%k
set value1=%%i
set value2=%%j
set value3=%%k
)
Echo. Value1: !value1!
Echo. Value2: !value2!
Echo. Value3: !value3!
Endlocal
Ignore.txt:
*.svc
*.jpg
*.png
Aber das Ergebnis nur druckt eine Variable, die zu falsch:
Ausgang:
*.svc
*.jpg
*.png
Value1: *.png
Value2:
Value3:
Bitte helfen Sie mir, wenn ich hier etwas falsch mache. Auch irgendwelche Vorschläge zu anderen besseren Möglichkeiten, diese Informationen zu erhalten.
Die 'for' Schleife an eine eine Zeile verarbeitet Zeit, und die Zeilen in Ihrer Datei haben nur einen Token (der von '%% i' konsumiert wird), also sind' %% j' und '%% k' NULL. – CristiFati
@CristiFati, Wenn das der Fall ist, wie kommt es, echo druckt Werte richtig? – sunny24365
_Ignore.txt_ hat 3 Zeilen: Die for-Schleife wird 3-mal und jedesmal nur echo ausgeführt. %% i' erzeugt die Ausgabe auf dem Bildschirm, die anderen 2 (da die Variablen NULL/leer sind) werden mit '@Echo off' unterdrückt. – CristiFati