Schreiben batch-variable in eine bestimmte Zeile einer text Datei
Habe ich eine batch-Datei, wo ich brauche zum schreiben einer Variablen in eine bestimmte Zeile einer text Datei und überschreiben, was ist alles bereit, die in dieser Zeile. Ich habe den code zu Lesen, einzelne Zeilen aus der Datei, vielleicht könnte ich es wechseln auch schreiben?
Lesen Zeilen code:
setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in (variables.txt) do (
set /a N+=1
set v!N!=%%a
)
set variable1=!v1!
set variable2=!v2!
set variable3=!v3!
set variable4=!v4!
Ich habe versucht, hinzufügen von echo %variable1% > !v4!
so etwas wie das, aber es funktioniert nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich es herausgefunden!! Hier ist der code für alle anderen, die jemals brauchen könnte, es.
Andere option könnte sein, um die Datei zu überschreiben vollständig. Hier ist der Teil, das zu tun:
Ist, wenn die Anzahl der Gewinnlinien ist fest und im Voraus bekannt. Wenn nicht, möchten Sie vielleicht zu speichern den letzten Wert des Inkrement-in deinem Beispiel-code und, wenn das speichern der Variablen, verwenden Sie es wie diese:
Gehe ich davon aus, dass hier die
v1
/v2
etc. Variablen, die verwendet werden würde, nur zum synchronisieren mit der Datei: beim Lesen, die Zeilen sind gespeichert in diesen Variablen, und wenn alle von Ihnen (Variablen) verändert wird, rufen Sie einfach diesaveVars
Unterprogramm sofort. Hier ist ein Beispiel, wie man es verwenden würde:Wenn die Datei ist klein, das umschreiben sollte schnell genug sein.
Absolut nicht sicher, ob ich alles richtig verstanden habe, aber wenn Sie ersetzen wollen etwas für ein bestehendes Teil einer text-Datei mit einem batch-Skript, das Sie schreiben müssen, alles (einschließlich der geänderte Teil) zu einer neuen Datei zuerst, dann das original löschen und benennen Sie die neue Datei in den ursprünglichen Namen.
Ich sehe nicht wirklich einen Punkt, der das Lesen alles in Variablen, es sei denn, ich bin fehlt etwas. Man könnte einfach Durchlaufen der Zeilen schreiben Sie nacheinander in die neue Datei und ersetzt die bestimmte Zeile den Inhalt mit dem ersetzen von text auf dem Weg:
Wenn das ersetzen von text muss wiederum abgeleitet werden aus einer der Linien, die Sie tun könnten, so etwas wie dieses:
variables.txt
ist nicht die Datei, in der eine Zeile muss ersetzt werden?