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-ID: 226321

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

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

Snowman25
Snowman25 10.01.2014 um 14:26:46 Uhr
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
colinardo
colinardo 10.01.2014 aktualisiert um 14:55:44 Uhr
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
Endoro
Endoro 10.01.2014 um 15:56:15 Uhr
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