spreader
Goto Top

Pfad per Batch aus einer .txt Datei auslesen

Hallo,

Ich habe folgendes Problem:


Ich habe eine Textdatei mit dem Namen "Pfad.txt", die einen Pfad enthält, z.B.:

D:\Programme\Beispiel

Ich will in einer Batch den Inhalt auslesen und in einer Variable speichern.
Das habe ich mit einem for Befehl gemacht:

for /F %%i in (Pfad.txt) do (
set x=%%i
)

Es funktioniert auch, aber wenn der Pfad in der Textdatei ein Leerzeichen enthält, wie z.B...

D:\Programme\Nummerl 5\Neu

...dann enthält die Variable nur noch:

D:\Programme\Nummer


Wie kann ich aber den ganzen Pfad in die Variable packen?
(Geht es vielleicht auch mit den Umleitungszeichen ">" oder "<"?)

Bin über jede antwort dankbar face-smile

Content-ID: 84365

Url: https://administrator.de/contentid/84365

Ausgedruckt am: 19.11.2024 um 19:11 Uhr

bastla
bastla 31.03.2008 um 18:14:37 Uhr
Goto Top
Hallo spreader und willkommen im Forum!

Versuch es so:
for /F "delims=" %%i in (Pfad.txt) do set "x=%%i"  
Alternative:
set /p x=<Pfad.txt

Grüße
bastla
spreader
spreader 31.03.2008 um 18:26:10 Uhr
Goto Top
Hey danke für die schnelle Antwort bastla
Funktioniert perfekt!


Nur so aus interesseface-smile: was genau macht das "delims=" und warum kommt das x=%%i bei dem set befehl in klammern?
bastla
bastla 31.03.2008 um 18:59:50 Uhr
Goto Top
Hallo spreader!

was genau macht das "delims="
Standardmäßig (lässt sich auch der Onlinehilfe mit "for /?" entnehmen) werden Tab und Leerzeichen als Trennzeichen ("delimiter") betrachtet - mit der Angabe von "delims=" lässt sich dies auf ein anderes Zeichen ändern,, und wenn zwischen dem "=" und dem Anführungszeichen gar nix steht, wird eben überhaupt nicht getrennt.

warum kommt das x=%%i bei dem set befehl in klammern?
Du meinst die Schreibweise mit Anführungszeichen - ist nicht immer nötig, schadet aber auch nicht und erlaubt zB, auch nachfolgende Leerzeichen mit in die Variable aufzunehmen - daher habe ich mir diese Form (erstmals hier im Forum bei Biber gesehen) angewöhnt ...

Grüße
bastla