
Ich brauche Hilfe mit dem FOR-Befehl in der Batch-Ablage. Ich möchte die Datei „Test.txt“ lesen, nur die dritte Zeile lesen und sie in eine verwendbare Variable innerhalb dieser Batch-Datei umwandeln. Folgendes habe ich versucht, aber es hat nicht funktioniert.
for /f "skip=2 delims=" %%a in (Test.txt) do (
set %%a=%LineThree%
)
Wenn ich das Programm ausführe, heißt es: „Das System kann die Datei Test.txt nicht finden. Jede Hilfe ist sehr willkommen.“
Antwort1
- Der Fehler weist darauf hin, dass sich Ihre Datei
Test.txt
nicht im selben Verzeichnis befindet, aus dem Sie Ihr Skript ausführen. Um nur die dritte Zeile einer Textdatei zu erfassen, versuchen Sie Folgendes, das schnell ausgeführt wird aufBELIEBIGsize-Datei, anstatt durch eine ganze Datei laufen zu müssen, wie Sie es tun würden (und Ihre würden es falsch machen... Sie greifen tatsächlichjede dritte Zeile).
(für /l %%a in (1,1,3) setze /p ZeileDrei=) < Test.txt
echo %ZeileDrei%
Wie in einem anderen Kommentar erwähnt, sollten Sie statt nur dem Dateinamen den vollständigen Pfad zur Datei ausprobieren.
Antwort2
Das Hauptproblem mit Ihrem Code sind die fehlenden Anführungszeichen vonIn (...)
Es sollte sein:
for /f "skip=2 delims=" %%a in ('Test.txt') do (
set %%a=%LineThree%
)
Wenn es immer noch nicht funktioniert, versuchen Sie, den vollständigen Pfad fürTest.txt
(wie andere vorgeschlagen haben)