bilalui
Goto Top

Mit findstr einen pfad hinter einem zeichen zu variable setzen

Hallo,

zurzeit beschäftige ich mich mit einer Batchdatei, die einen beliebigen Laufwerkspfad hinter einem kurzem Text mit "=" zu einer Variable setz. Hier ein Beispiel: Im der Textdatei steht pfad=c:\Verzeichnis1\Verzeichnis2. Ergebnis soll dann so lauten: echo %Pfad% wird dann zu c:\Verzeichnis1\Verzeichnis2

Hier meine bissherige Batchzeile mit falschem Ergebnis:

FOR /f %%f IN ('findstr Laufwerkpfad= test.txt') DO set Pfad=%%f echo %Pfad%

Wenn man dieses Programm durchlaufen lässt bekommt man "Echo ist ausgeschaltet (OFF)

Ich bin dankbar und offen für jede Hilfe.

LG

bilalui

Content-Key: 226321

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

Printed on: April 25, 2024 at 03:04 o'clock

Member: Snowman25
Snowman25 Jan 10, 2014 at 13:26:46 (UTC)
Goto Top
Hallo @bilalui,

poste doch bitte den entsprechenden Teil der Textdatei und den entsprechenden Teil der Batch-Datei in -Tags.
Momentan kann ich nur raten, wo dein problem liegt.

Gruß,
@Snowman25
Member: colinardo
colinardo Jan 10, 2014 updated at 13:55:44 (UTC)
Goto Top
Hallo bilalui, Willkommen im Forum!
@echo off & setlocal enabledelayedexpansion
FOR /f "tokens=2 delims==" %%f IN ('findstr Laufwerkpfad= test.txt') DO @(  
   set Pfad=%%f 
   echo !Pfad!
)
Lese Dir mal folgendes Exkurs (verzögerte) Variablenerweiterung .Du benötigst für die verzögerte Variablenerweiterung am Anfang das setlocal ENABLEDELAYEDEXPANSION und die Variable in der Schleife muss anstatt mit Prozentzeichen mit Ausrufezeichen umschlossen werden. Die Verzögerte Variablenerweiterung bewirkt das alles was zwischen zwei Ausrufezeichen steht erst zur Ausführungszeit des Scriptes expandiert wird anstatt beim parsen des Scriptes.

Grüße Uwe
Member: Endoro
Endoro Jan 10, 2014 at 14:56:15 (UTC)
Goto Top
Hey,

wenn du mit dieser unklaren Fragestellung hier eine zutreffende Antwort erhälst wäre das ein Glückstreffer.

for /f "delims=" %%A in (test.txt) do set "%%~A"  
echo %laufwerkspfad%

Viel Glück face-smile