Jump to content

Batch - Pfad auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Guten Tag

Meine erste Frage hier im Board:

Ich möchte mit einer Batch Datei eine Pfad einer Text Datei auslesen und in einer Variable speichern zum weiterverbearbeiten.

 

Die Datei ist so aufgebaut: Pfad: (windows\test.zip)

und ich brauch nun nur den Pfad "windows\test.zip"

 

Mit findstr schaff ich es nur das er die Zeile anzeigt wo sich der Pfad befindet, aber wie ich den Pfad aus der Zeiel herraustrenne weiß ich nicht.

 

Danke im Vorraus

Gruß TippFehler

Geschrieben

For /F "tokens=1-1 delims=()" %%a in ('Type test.txt') do echo %%a

 

Geht nur in einer Batch, sonst die doppelten %-Zeichen raus.

test.txt ist die Datei, kannst Du beliebig ersetzen.

echo %%a ist nur zum testen, danach Variable=%%a

 

MfG

 

Apotheker

Geschrieben
Original geschrieben von Apotheker

For /F "tokens=1-1 delims=()" %%a in ('Type test.txt') do echo %%a

 

Danke für deine Hilfe, leider funktioniert der Befehl nicht so recht.

 

Die test.txt beinhaltet folgenden Text:

 

Pfad:(Hallo)

 

Und die Ausgabe der batch Datei lautet:

E:\>test.bat

 

E:\>For /F "tokens=1-10 delims=()" %a in ('Type test.txt') do echo %a

 

E:\>echo Pfad:

Pfad:

 

Was ist falsch?

 

Gruß TippFehler

Geschrieben

For /F "tokens=2-2 delims=()" %%a in ('Type test.txt') do echo %%a

 

Für Deinen Fall, hab ich grade probiert. Mit Tokens wird ein Teilstring angegeben, 1-1 ist also der 1. Teilstring und funktioniert nur, wenn Deine Datei

(Hallo)

enthält. Wenn vor der ineressanten Textstelle noch etwas anderes steht, dann muss es 2-2 heißen.

Also bei Pfad:(Hallo) ist 1-1 Pfad: und 2-2 Hallo, bei Pfad:(Hallo)BillGates ist 1-1 Pfad:, 2-2 Hallo und 3-3 BillGates, man kann auch 1-3 angeben, dann ist %a=Pfad:, %b=Hallo und %c=BillGates, wichtig: Kleinbuchstaben, die Klammern in der Zeichenkette sind die Trennzeichen (Delimiter), daher erscheinen Sie im Ergebnis nicht.

 

MfG

 

Apotheker

Geschrieben
Original geschrieben von thorgood

weil es der zweite token ist.

thorgood

 

Das "1-10" hat zwar komischerweise das selbe ergebnis wie beim erstenmal gebracht, aber wenn ich direkt token=2 eingebe funktioniert es. Hurra

 

Vielen Dank euch beiden

 

Edit: Jetzt hab ich auch versatnden warum es mit token=2 geht.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...