henky102
Goto Top

Per Batch Datei Zeile in cfg-Datei ändern?

Hallo liebes Forum!
Ich bin neu hier, habt bitte etwas Nachsicht mit mir.

Ich habe folgendes Problem und konnte bisher dazu nicht wirklich was finden (was genau passt).

Ich habe eine *.cfg Datei, in derer ich gerne per Batch Datei eine Zeile ändern möchte. Ich weiß aber überhaupt nicht, ob sich mittels Batch cfg-Dateien, wie mit dem Texteditor editieren lassen?!
Die Batchdatei soll später noch mehrere Aufgaben umfassen, aber da versuch ich mich nach der Klärung dieses Hauptproblems dran face-wink

In der Ausgangsdatei sieht die Zeile folgender Maßen aus:

NickName=Test

Ich möchte, dass er Test durch den Benutzernamen, des angemeldeten Users ersetzt und dieses dann einfach in der selben Datei abspeichert.

Geht das überhaupt und wenn ja, könnt ihr mir helfen?


Ich danke euch!!

Viele Grüße und bleibt schön gesund!

Content-Key: 561068

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

Printed on: April 19, 2024 at 19:04 o'clock

Mitglied: 143127
143127 Mar 26, 2020 updated at 11:48:02 (UTC)
Goto Top
Nimm gleich die Powershell, mit Batch fängt man doch heutzutage bei sowas nicht mehr an ...
$datei = 'd:\datei.cfg'  
(gc $datei) -replace "(^NickName=).*",('$1' + $env:Username) | sc $datei  
Member: Henky102
Henky102 Mar 26, 2020 updated at 14:01:49 (UTC)
Goto Top
Hy vielen Dank für deine schnelle Antwort!

Powershell?

Das Problem ist, dass ich eigentlich VOR der oben beschrieben Sache dafür sorgen wollte, dass ein Ordner mit Unterordnern usw.. von Laufwerk X auf den Desktop des Users kopiert wird.

Im zweiten Schritt sollte dann die Änderung des NickNames folgen.
Powershell kenn ich mich überhaupt nicht mit aus.
Mitglied: 143127
143127 Mar 26, 2020 updated at 14:30:22 (UTC)
Goto Top
Naja Batche dazu findest du hier wie Sand am Meer
Teile aus ini ersetzen mit Batch-Datei
INI Datei via Batch auslesen, verändern und nur einen Teil übernehmen in neue Datei
Mittels Batch jede Zeile einer Textdatei prüfen


Powershell?
Powershell kenn ich mich überhaupt nicht mit aus.
Dann verpasst du ziemlich viel ...
Mitglied: 143127
143127 Mar 26, 2020 updated at 15:59:38 (UTC)
Goto Top
Btw. kannst du obiges auch leicht in eine Batch einbauen
@echo off
set "datei=d:\datei.txt"  
powershell -EP ByPass -C "(gc '%datei%') -replace '(^NickName=).*',('$1' + $env:Username) | sc '%datei%'"  
Member: Henky102
Henky102 Mar 30, 2020 at 11:56:01 (UTC)
Goto Top
Hy Vibrations,
vielen Dank! und statt
datei.txt gebe ich dann datei.cfg an?
Geht das dann auch?

Vielen Dank!
Mitglied: 143127
143127 Mar 30, 2020 updated at 12:25:59 (UTC)
Goto Top
Zitat von @Henky102:

Hy Vibrations,
vielen Dank! und statt
datei.txt gebe ich dann datei.cfg an?
Geht das dann auch?
Ja, einfach den Pfad zu deiner Datei angeben, so lange es eine Datei im Plaintext-Format ist kann das Skript alle Endungen verarbeiten, das ist dem egal.