I mit einer Länge von 309.247 Bytes als dieses Bild eine Datei haben: Power falsche Ergebnisse für Dateilänge
Wenn ich diese Powershell-Skript auszuführen:
(Get-Item 'C:\TestFile.082').length
309247
Aber wenn das gleiche Skript laufen, aber einen $file
Variable es gibt diese:
$fpath = Get-Item $file.FullName
$fpath.length
309800
# or
(Get-Item $file.FullName).length
309800
# or
$file.length
309800
HINWEIS $-Datei ist eine variab le in eine Schleife für alle Dateien in einem Verzeichnis enthaltenen
Warum, wenn ich die gleiche Datei verweisen ich die Ergebnisse unterschiedlich sind?
Wie kann ich tun, um den tatsächlichen Wert (309247) zu erhalten?
Das ist mein Voll-Code
$filesToFtp = Get-Item $pathToFtp -Exclude "*.PreARM"
foreach($file in $filesToFtp)
{
$fpath = Get-Item $file.FullName
$fpath.Length
$FileNode = $oXMLDocumentFiles.CreateElement("element","curtmpremotelxml_files","")
$nodoXML = "<versionnum>"+$versplain+"</versionnum>"+
"<filename>"+$file.Name.ToUpper()+"</filename>"+
"<filesize>"+$file.length+".00</filesize>"+
$FileNode.InnerXml = $nodoXML
$oXMLDocumentFiles.DocumentElement.AppendChild($FileNode)
}
kann nicht reproduzieren. Anscheinend siehst du eine andere Datei an. – wOxxOm
Bitte zeigen Sie den Code, wo '$ file' gesetzt ist. Ich kann das auch nicht reproduzieren und stimme zu, dass du wahrscheinlich eine andere Datei anschaust. – alroc
Ich kann immer noch nicht reproduzieren. Die Verwendung von '.length' ist die korrekte Methode, um die Dateigröße zu ermitteln. Vielleicht enthält dein Pfad "[' '' '' '? Wenn dies der Fall ist, werden diese als Platzhalter behandelt. – wOxxOm