Batch Teile innerhalb einer TXT-Datei durch Benutzereingabe ersetzen lassen.

HHH913519

Newbie
Registriert
Aug. 2020
Beiträge
4
Hallo,
Vorab - ich bin blutiger Anfänger, ohne viel Erfahrung mit Batch-Dateien...

Folgende Schwierigkeit;
Die Batch-Datei soll eine Benutzereingabe erfragen und Teile einer txt-Datei durch diese Eingabe ersetzen.
Sähe die Textdatei beispielsweise so aus;
TextTextTextXXXXXEnde1
TextTextTextXXXXXEnde2
TextTextTextXXXXXEnde3


...wäre gewollt, dass "XXXXX" durch die Benutzereingabe, zum Beispiel "YYYYY", ersetzt würde. Sollte am Ende also folgendermaßen aussehen:
TextTextTextYYYYYEnde1
TextTextTextYYYYYEnde2
TextTextTextYYYYYEnde3


Sowohl der Text vor, als auch nach dem ersetzten Teil müssten völlig unverändert bleiben. Weiß jemand, ob/wie das umzusetzen wäre?

Vielen Dank für Hilfe vorab und Grüße von
HHH913519
 
das klingt verdächtig nach Hausaufgabenhilfe (weil es ganz genau Batch sein muss), hast du mehr Details?
 
  • Gefällt mir
Reaktionen: Cardhu
Merkwürdig, ich denke gerade über eine ähnliche Sache nach und wollte gerade eine Frage posten, als ich diesen Thread gesehen habe..

Ich habe gerade eine kleine Anleitung mit ein paar Linux befehlen in eine Textdatei geschrieben und würde gerne Variablen verwenden, welche ich am Anfang definiere, die Ersetzung soll dann in den folgenden Befehlen automatisch passieren, sodass ich die Befehlszeilen nach einmaliger Anpassung der Variablen einfach kopieren kann.. Gibt es einen Texteditor mit so einem Feature?
 
@Asghan @tollertyp

Das Ganze wäre nur ein Bestandteil einer Batch, die daneben noch mehr Aktionen ausführt, daher wäre es mir natürlich am liebsten, wenn ich das Ganze einfach dort in den Ablauf mit einbauen könnte (zumal ich von möglichen Alternativen vermutlich noch weniger Ahnung habe). Aber sollte das nicht gehen, muss es natürlich auch nicht mit Batch sein - wichtig ist letztendlich nur die Benutzereingabe und dass am Ende das Ergebnis, also die Textdatei, stimmt.

Und nein, ist keine Hausaufgabe, ich gehe auch schon länger nicht mehr zur Schule ;)
 
Was ist denn XXXXX? Immer der gleiche Text? Und was ist "TextTextText"? Immer der gleiche Text? Immer die gleiche Länge? Und was heißt "Teile einer txt-Datei", was steht denn sonst noch drin? Könnte da das XXXXXX auch vorkommen?

Da sind so viele unbekannte Variablen in deinem Post, dass ich (mit mittelmäßigen Batch-Wissen) schwer eine Beurteilung oder gar Code abgeben könnte. Ich weiß halt nicht, wie ich XXXXXX identifizieren soll.
 
einer Batch, die daneben noch mehr Aktionen ausführt
Da spricht trotzdem wenig gegen dies über eine .ps Datei zu lösen, falles es dort viel einfacher ist. Batch ist einfach nicht darauf ausgelegt gewesen komfortabel komplizierte Dinge zu machen. Natürlich geht immer alles, aber es ist auch ne Frage der Schmerzen, die man sich antun will dauerhaft (nur) auf Batch zu setzen.

https://stackoverflow.com/a/19335763
 
@Darkman.X
Es ist genau wie im Beispiel - eine mehrzeilige Liste, worin jede Zeile den exakt selben Inhalt hat, bis auf die Ziffer ganz am Ende (der Anfang, im Beispiel als "TextTextText", ist also auch immer der Gleich(lang)e, genauso wie auch "XXXXX"). Die XXXXX-Teile sind die, die ich in jeder Zeile ersetzen lassen möchte, darauf bezog ich mich mit den zu ersetzenden "Teilen", ansonsten steht nix drin :)
 
Kleiner Nachtrag; Das Problem hab ich nun mit der Powershell gelöst. Vielen Dank für den Hinweis darauf, klappt einwandfrei! :)
 
Zurück
Oben