PowerShell- Get-Content
Dateiwert nul
mit -Encoding Byte
Problem
Wenn Sie die Datei von dem Link, den Sie gepostet haben, herunterladen und mit Notepad ++ öffnen, scheint die letzte Zeile eine lange Reihe von nul
Zeichen zu enthalten (siehe unten).
Da sich dieser Inhalt im Inhalt dieser Datei befindet und die Syntax, die Sie mit Get-Content verwendet haben, gilt Folgendes : Get-Content -ReadCount 0 -tail 1 -encoding String -literalpath "D:\file"
Um den Inhalt abzurufen, scheint es, als würde er die PowerShell-Abfrage verschließen -encoding String
.
Wie in diesem Beitrag zu verschiedenen Antworten vorgeschlagen Wie Sie NULL-Zeichen (0x00) aus einem Objekt in PowerShell entfernen, scheint der Hex-Wert von /x00
und die Verwendung von Get-Content mit dem Parameter -Encoding String
des Zeichensatzes, der als Zeichenfolge zu kennzeichnen ist, dies nicht zu tun wie diese Hex-Werte und verwirrt PowerShell.
Schlussfolgerung und Lösung
Das Wechseln der Get-Content- Syntax unter Verwendung -Encoding Byte
des als Bytes zu erkennenden Zeichensatzes scheint dieses Problem zu lösen.
Get-Content -ReadCount 0 -tail x -encoding Byte -literalpath "D:\file"
Die Syntax, die funktioniert hat, ist,
Get-Content -ReadCount 0 -tail x -encoding Byte -literalpath "D:\file"
wobei x die Anzahl der gewünschten Bytes ist. -encoding String schlägt fehl, da kein Schwanz vorhanden ist. - Sabyasachi Mukherjee