Per findstr eine varible setzen nach einem istgleich im text
hallo,
zurzeit bastle ich eine Batch, die beliebige ordner zu einer rar datei packt. Soweit geht es schon, aber würde noch gerne einen Punkt hinzufügen, der diese benötigten variablen aus einer datei liest, wenn man den festgelegten ordner mehrmals packen möchte (wenn er sich verändert hat).
Die datei in dem die Variablen festgelegt sind sieht in etwa so aus:
inputfolder=c:\example\
outputfolder=d:\backup\
name=soheistdasarchiv
/
Kann man per findstr die pfade nach dem = zu variablen setzen oder gibt es eine andere Lösung für das Problem?
Wenn es unklarheiten gibt, einfach bescheid sagen.
Danke im Voraus für die Hilfe
zurzeit bastle ich eine Batch, die beliebige ordner zu einer rar datei packt. Soweit geht es schon, aber würde noch gerne einen Punkt hinzufügen, der diese benötigten variablen aus einer datei liest, wenn man den festgelegten ordner mehrmals packen möchte (wenn er sich verändert hat).
Die datei in dem die Variablen festgelegt sind sieht in etwa so aus:
inputfolder=c:\example\
outputfolder=d:\backup\
name=soheistdasarchiv
/
Kann man per findstr die pfade nach dem = zu variablen setzen oder gibt es eine andere Lösung für das Problem?
Wenn es unklarheiten gibt, einfach bescheid sagen.
Danke im Voraus für die Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 233450
Url: https://administrator.de/contentid/233450
Ausgedruckt am: 26.11.2024 um 12:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo DerBilaJoe und willkommen im Forum!
Wozu brauchst Du "
Wenn aber tatsächlich nur die Zeilen mit einem "=" benötigt werden, etwa so:
Grüße
bastla
Wozu brauchst Du "
findstr
"? Befinden sich in der Datei auch noch andere Zeilen? Falls nicht, sondern nur die von Dir dargestellten, sollte doch etwas in der Art genügen:for /f "usebackq delims=" %%i in ("D:\Pfade.txt") do set "%%i"
for /f "delims=" %%i in ('findstr "=" "D:\Pfade.txt"') do set "%%i"
bastla
Hallo DerBilaJoe!
Eigentlich hatte ich angenommen, Du wolltest die Pfade den Variablen zuweisen - wenn dem nicht so sein sollte, dann kannst Du natürlich mit
auch nur den Teil nach dem "=" erhalten - allerdings frage ich mich (bzw Dich ), warum Du das willst ...
Grüße
bastla
Eigentlich hatte ich angenommen, Du wolltest die Pfade den Variablen zuweisen - wenn dem nicht so sein sollte, dann kannst Du natürlich mit
for /f "tokens=2 delims==" %%i in ('findstr "=" "D:\Pfade.txt"') do set "Pfad=%%i"
Grüße
bastla
Hallo DerBilaJoe!
Grüße
bastla
Der Text vor dem "=" legt nur fest, um welche variablen es sich in der Datei handelt.
Das ist mir schon klar - ich weiß nur nicht, wozu Du nur den Wert haben willst, anstatt wie in meinem ersten Vorschlag gleich direkt die Zuweisung an die Variable vorzunehmen und dann eben zB %inputfolder% zu verwenden ...Grüße
bastla