" u. Zeilenumbruch ersetzen

Hallo Leute,

Brauche Unterstützung bei c# Programmierung
Lese am Windows Rechner eine Datei in ein String, schreibe dann per telnet u. Kommandozeile an ein Linux Rechner den string in eine Datei.

Funktioniert nur wenn im string keine " u. Zeilenumbrüche sind

Wie kann man schon beim einlesen der Datei die " durch " u. den Zeilenumbruch durch bestimmtes Zeichen ersetzen?

code zum einlesen

string fileContent = File.ReadAllText(filePath);

code zum string schreiben in datei

this.myTelnet.SendCommand("echo \"" + fileContent + "\" > " + TargetDir + "/" + FileName);

Danke Fred

du machst nach dem hier

ein geeignetes string replace.

Aber das hier:

ist das eigentliche Problem, weil dir das bei noch viel mehr Sonderzeichen brechen kann, je nach Fähigkeit der Methode.

Der richtige Ansatz wäre ein shell escape von fileContent, dann kannst du auf deine Stringmanipulationen komplett verzichten.

Und noch was betrifft Telnet. Du solltest Telnet für gar nichts mehr verwenden, schon gar nicht, wenn du ein neues Programm schreibst. Nimm SSH. Und wenn du ne externe Bib nimmst, die nur Telnet kann, dann such dir eine andere.

Moment mal, warum machst du das überhaupt so? Du musst doch keine Kommandozeile aufmachen, um Sachen in ne Datei reinzuschreiben. Das ist ein unnötiges Sicherheitsrisiko.

Warum machst du nicht einfach ne SFTP oder SCP Verbindung auf die Datei und schreibst direkt da rein. Damit hast du deinen Angriffsvektor massiv verringert und benutzt die Tools bestimmungsgemäß. Und das hat dann auch ne ordentliche Verschlüsselung samt kontrollierbarer Berechtigung.