Jump to content
Sign in to follow this  
TippFehler

Batch - Pfad auslesen

Recommended Posts

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

Share this post


Link to post

Du kannst solche Dinge mit for /f machen.

 

Gib in einer Dosbox for /? ein, da gibt es diverse Optionen.

 

------------

Gruß, Auer

Share this post


Link to post

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

Share this post


Link to post
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

Share this post


Link to post

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

Share this post


Link to post
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.

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...