Jump to content

Zeile aus einer Datei auslesen und in TXT-Datei wegschreiben


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

ich bin Scripting-Neuling und würde gerne aus einer Datei abcde.xyz, die einfacher unverschlüsselter Plain-Text ist eine Zeile auslesen und in einer Datei fghijk.uvw wieder einfügen. Am liebsten wären mir zwei Scripte. Eines, das die Zeile n ausliest und in eine TXT schreibt und dann das zweite Script, den Inhalt dieser TXT in eine bestimmte Zeile m einfügt.

 

Noch eine Zusatzinformation, um das Ganze zu veranschaulichen. Die Datei(en) sieht(sehen) folgendermaßen aus:

 

#Kommentar1

#Kommentar2

#Kommentar3

Variable1=Wert1

Variable2=Wert2

Variable3=Wert3

.

.

.

VariableN=WertN

 

Ich möchte im Endeffekt den WertN einer VariablenN in eine andere Datei übertragen.

Also den WertN in der anderen Datei überschreiben.

 

Danke schonmal für Eure Hilfe.

 

Gruß

Fragment

 

Edit: Die Werte sind Strings.

Link zu diesem Kommentar

Gar nicht mal so viele Anforderungen. Rein von der Logik soll es so ablaufen:

 

Lies Zeile xy aus Datei C:\Programme\Werte\Werte.txt komplett aus (wobei Zeile xy im Script als Konstante einfach abzuändern ist).

Hänge den Inhalt der gelesenen Zeile ans Ende von \\Netzwerkserver\Liste\Liste.txt an

Mehr soll es nicht tun.

 

Jetzt kann ich das Script von vielen Clientrechnern aus starten und bekomme die Liste.txt mit den entsprechenden Zeilen gefüllt. Das soll halt einfach angehängt werden...

 

Also zum Verständnis. Es ist genug, wenn er einfach nur eine Zeile ausliest und in die andere Datei kopiert. Diese Variable/Wert Unterscheidung ist gar nicht notwendig und sollte nur die Struktur der Quelldateien verdeutlichen.

 

Grüße

Fragment

Link zu diesem Kommentar

Ahh das ist super, wenn das so einfach funktioniert. Jetzt muss ich doch nochmal meine Anforderungen ändern, weil ich herausgefunden habe, dass es nicht ausreicht die Variable ans Ende der neuen Datei zu schreiben. Er liest die Erste hinterlegte ein und in den Zieldateien ist die Variable schon mit einem falschen Wert in Zeile 13...

 

Also nochmal neu:

 

In der Quelldatei, die auf den Clientrechnern liegen steht in Zeile 13

 

Username=User123

 

Die Zieldateien sind Templatedateien auch auf dem Clientrechner, in dem auch in Zeile 13 folgendes steht

 

Username=Administrator

 

Im Prinzip soll er den Wert des Usernames also z.b. "User123" , die er aus der Quelldatei ausliest in die Zieldatei statt Administrator reinschreiben.

Wenns einfacher zu coden ist, kann er ja auch die gesamte Zeile 13 überschreiben, mehr als der Username steht da nicht.

 

Die Dateien kopieren kann ich nicht, weil die Zieldateien auf den Clientrechnern bis auf den Username sehr unterschiedlich sind.

 

 

Ob man dieser .bat einfach sagen könnte, dass sie Zeile 13 mit Zeile 13 überschreiben soll? Das wäre am Besten.

 

 

Vielen Dank nochmals!

Fragment

Link zu diesem Kommentar

Ist es wichtig, dass das auch wieder in Zeile 13 steht?

Oder ginge auch, die alte Zeile zu löschen und dann die neue am Ende anfügen?

 

findstr /V "VariableN" datei2.txt >tempdatei.txt
findstr "VariableN" datei1.txt >>tempdatei.txt
copy /Y tempdatei.txt datei2.txt

 

Das /V bei findstr bedeutet, er soll alle Zeilen ausgeben, die den Suchstring NICHT enthalten.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...