String in Datei am Anfang ohne Zeilenumbruch via Batchfile einfügen

Mulewa

Newbie
Registriert
Nov. 2022
Beiträge
1
Hallo Ich muss am Anfang von Dateien einen String: VIS5ÿÿÿÿ einfügen
Wichtig ist dabei das es keinen Zeilenumbruch gibt, also der String direkt vor dem Inhalt der ersten Zeile landet.
Bisher hab ich nur geschafft das es als seperate Zeile eingefügt wird.
Das war mein letzter Stand:
ECHO VIS5ÿÿÿÿ>>"D:\Test2.txt"
type "D:\Test.txt" >> "D:\Test2.txt"
type "D:\Test2.txt" > "D:\Test.txt"

Kann mir einer Schreiben wie man es richtig macht?
 
vom batch scripting sollte man sich verabschieden, die powershell war schon eine ganz gute erfindung von microsoft:
PowerShell:
Get-ChildItem -Path . -Filter *.txt | ForEach-Object { Set-Content $_.FullName $("VIS5ÿÿÿÿ" + $(Get-Content $_.FullName -Raw)) }

das fügt den string an alle .txt dateien im aktuellen verzeichnis an bzw. setzt ihn davor.
 
  • Gefällt mir
Reaktionen: Raijin, Mulewa, andy_m4 und eine weitere Person
Okay, ich nehm mir schon mal nen Besen zum Beißen, aber....

... Wenn das hier um Springs geht, dann freß ich denselben 🤯 Drei Kreuze sagen, daß es hier um einen Dateiheader geht, der mit sehr hoher Wahrscheinlichkeit auch ein binärer Dateiheader ist.

Batch ist für sowas überhaupt nicht geeignet. Der verschluckt sich an allen möglichen Dingen, die nicht grad auf seine eingestellte codepage abgebildet werden können.

Für simpelstes Vorne-Dran-Kopieren sollte (denke ich) copy /B plus "+" genügen, dann allerdings darauf achten, daß damit eine neue Datei erstellt werden muß. Wenn "template" meine Datei mit dem Header darin ist:
Code:
copy /b "template"+"datei_wo_der_header_angefügt_werden_soll.txt" Zieldatei.txt

Aber irgendwelches "Bearbeiten" ist damit nicht. Binärdatei einmal in Batch zum schreiben geöffnet und sie ist ziemlich sicher hinüber.
Wenn das erforderlich /wäre/: Powershell und da dann mit Streams arbeiten.
 
  • Gefällt mir
Reaktionen: s1ave77
Zurück
Oben