Mit Batch Zeilen aus TXT modifizieren
Hallo zusammen,
leider konnte ich mit den bisherigen Threads mein Problem bisher nicht lösen.
Problemstellung:
In einer Textdatei sind Variablen mit Werten definiert - nun möchte ich via Batch die Variablenwerte ersetzen.
Textdatei.txt
Ziel:
Variablenwert für 'Config' und 'Cycle' ändern
Danke für euere Unterstützung,
Gruß Feder
leider konnte ich mit den bisherigen Threads mein Problem bisher nicht lösen.
Problemstellung:
In einer Textdatei sind Variablen mit Werten definiert - nun möchte ich via Batch die Variablenwerte ersetzen.
Textdatei.txt
Head=Text1
Description=Beschreibung
Config=Configuration1
Age=365
Cycle=3
Ziel:
Variablenwert für 'Config' und 'Cycle' ändern
Head=Text1
Description=Beschreibung
Config=Configuration2
Age=365
Cycle=6
Danke für euere Unterstützung,
Gruß Feder
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 351118
Url: https://administrator.de/forum/mit-batch-zeilen-aus-txt-modifizieren-351118.html
Ausgedruckt am: 25.12.2024 um 03:12 Uhr
4 Kommentare
Neuester Kommentar
Du kannst keine Änderungen mitten in einer Datei vornehmen. Es ist aber möglich die Datei mit geänderten Werten neu zu schreiben und die Originaldatei zu ersetzen.
Grüße
rubberman
@echo off &setlocal
set "file=test.txt"
set "Config=Configuration2"
set "Cycle=6"
setlocal EnableDelayedExpansion
<"!file!" >"!file!.~tmp" (
for /f %%i in ('type "!file!"^|find /c /v ""') do for /l %%j in (1 1 %%i) do (
set "line=" &set /p "line="
if not defined line (
echo(
) else for /f "delims==" %%k in ("!line!") do (
if "%%k"=="Config" (
echo Config=!Config!
) else if "%%k"=="Cycle" (
echo Cycle=!Cycle!
) else echo(!line!
)
)
)
move /y "!file!.~tmp" "!file!"
rubberman
Man man man so viel Zeilen für nüscht, Powershell:
Andere Ersetzung analog dazu ...
(gc 'c:\datei.txt') -replace '^Config=.*','Config=BlaBlaBla' | sc 'c:\datei.txt'