Löschen Sie carriage return in der powershell

Ich Probleme löschen carriage return innerhalb einer text-Datei. Ich möchte löschen Sie carriage return "nur Meldung". Ich brauche die "Botschaft" Inhalt werden auf nur einer Linie.

Mein input sieht so aus:

TimeCreated      : 08/04/2014 22:31:15
LevelDisplayName : Information
Id               : 50065
Message          : DHCP a trouvé dans le cache une corespondance pour lidentificateur                  
                  (Service Set Identifier) Livebox-816F (valeur hexadécimale de 
                   lidentificateur SSID : C496674) pour la carte réseau dont ladresse 
                   réseau est 0x0C

Ich kam mit dieser Zeile code, aber es funktioniert nicht:

$MyObject = Get-WinEvent -LogName 'Microsoft-Windows-Dhcp-Client/Admin' | Where-Object {$_.TimeCreated -ge $lastsevendays} | Select 'TimeCreated', 'LevelDisplayName', 'ID', @{n='Message';e={$_.Message -replace '`r', " "}}, $Size 
$MyObject > $SourceFile

Vielen Dank!

Versuchen Sie es mit 'backtick n' statt 'backtick r' in Ihrem -replace.
Es beruhigt nicht funktioniert...
Was passiert, wenn Sie versuchen? Es scheint zu funktionieren für mich, wenn ich entfernt $Size aus dem Ende des Befehls, da es nicht definiert.
OP ist nicht (nur) der Versuch, entfernen Sie die Zeilenumbrüche aus Message versuchen Sie, entfernen Sie die Zeilenumbrüche aus der powershell-list-formatierte Ausgabe des resultierenden Objekts. Dies ist schwieriger, so müssen Sie entweder melden Sie sich mit standard-Formatierung dann schreiben Sie das Protokoll, oder verwenden Sie die benutzerdefinierte Ausgabe-Formatierung.
Ich denke, für Spaß, den Sie exportieren könnte die Ausgabe auch in eine text-Datei, Lesen Sie die text-Datei als Binärdaten zu konvertieren, dass zu hex und entfernen Sie alle hexadezimal-Instanzen 0D 0A (das ist das carriage return/line feed in hex).

InformationsquelleAutor user3474661 | 2014-04-08

Schreibe einen Kommentar