2017-12-18 3 views
1

Ich brauche eine Ini-Datei, um eine Zeile innerhalb eines neuen Zielordners zu ersetzen.Editiere INI, um die Zeichenkette durch eine Charge zu ersetzen

Ich brauche es, um auf einen neuen Weg zu gehen. Ich habe ein paar ähnliche Suchanfragen ausprobiert, bin aber nicht in der Lage, es selbstständig zu machen. Hier ist eine, die ich ausprobiert habe und nichts passierte:

+0

Sie schreiben SavePath mit der alten und der neuen Datei in die temporäre Datei. Was ist dein erwartetes Endergebnis? Gibt es mehr Zeilen in der INI-Datei als nur diese eine Zeile, die Sie behalten müssen? – Squashman

+0

Ja Ich muss den Rest der Ini-Datei in Takt halten, ich muss nur die Daten in dieser Zeile zu einem neuen Pfad ändern. Es gibt 2 andere Dinge, die ich ändern muss, aber das war der wichtigste. Auch ich werde bemerken, dass ich keine anderen Programme/Stapel wie jrepl zu den Systemen hinzufügen kann. – afmxer

+0

Vielleicht sollte es lesen - 'wenn exist"% file% "' notieren Sie das schließende doublequote! Es kann auch erwähnenswert sein, dass Sie, wenn Sie diese Zeile ändern müssten, um "Wenn nicht vorhanden"% Datei% "Exit/B" zu lesen, diesen mehrzeiligen 'If' Block nicht benötigen würden. Als letzte Anmerkung können Sie "C: \ Benutzer \ Test \ AppData \ Roaming" durch "% AppData%" ersetzen. – Compo

Antwort

0

Hier ist ein Auszug aus einer Batch-Datei, die ich täglich für einige Templating verwende. Es wird die angegebene search Zeichenfolge mit einem neuen replace String ersetzen, wie am Anfang der Datei definiert:

@echo off &setlocal 
set "search=c:\old\path" 
set "replace=d:\new\path" 
set "textfile=test.ini" 
set "newfile=output.ini" 
echo Scanning %textfile% 

(for /f "delims=" %%i in ('findstr "." "%textfile%"') do (
    set "line=%%i" 
    setlocal enabledelayedexpansion 
    set "line=!line:%search%=%replace%!" 
    echo(!line! 
    endlocal 
))>"%newfile%" 

Es sieht aus wie Sie bereits if exist sind Handling und die Originaldatei überschreiben, damit ich nicht diese Stücke aufgenommen haben.

Hoffe es hilft!

Verwandte Themen