Ich habe ein sehr einfaches Problem in der Windows-Batch-Programmierung, aber ich habe die Antwort in den vorhandenen Fragen nicht gefunden.set/p von Eingabedatei funktioniert nur für die erste Zeile in Batch-Datei
Ich möchte den Inhalt von 3 Variablen mit Eingabe aus einer Textdatei (3 Zeilen, eine für jede Variable) füllen und set /p
verwenden. Aber es scheint, dass dies nur für die erste Zeile funktioniert, nicht für die anderen.
ist hier ein reproduzierbares Beispiel:
ich diese Batchdatei starten (test.bat):
@echo off
(
set /p Line1=
set /p Line2=
set /p Line3=
)<%1
echo I read the following parameter from your %1 config file:
echo -- Content of line 1: %Line1%
echo -- Content of line 2: %Line2%
echo -- Content of line 3: %Line3%
Die Datei Argument ist test.txt:
The line 1
The line 2
The line 2 copied
Dann habe ich starten Sie einfach 'test.bat test.txt'
, mit dem folgenden Ergebnis:
Ich lese den folgenden Parameter r aus Ihrer test.txt Konfigurationsdatei:
-- Content of line 1: The line 1
-- Content of line 2:
-- Content of line 3:
Warum die Linien 2 und 3 von test.txt nicht takken und die correspnding Variablen line2 und line3 leer?
Interessant. Ich kann dein Problem nicht replizieren. Alle drei Zeilen werden für mich korrekt angezeigt. Mein einziger Vorschlag im Moment ist, sicherzustellen, dass Ihre Textdatei enthält, was Sie denken, dass es enthält. – SomethingDark