none
Dateigröße einer Komprimierten Datei ermitteln RRS feed

  • Frage

  • Hallo zusammen,

    ich habe ein kleines Problem an den ich fast verzweifle.

    Ich versuche die Größe einer Datei mittels Powershell zu ermitteln. Dieses klappt auch super mit dem Get-ItemProperty Cmdlet. Leider ist die Datei auf dem Fileserver komprimiert und ich sehe dieses auch in den Attributen, aber ich bekomme nict heraus wie groß die Datei auf der Platte ist.

    Hat einer von Euch hier einen Rat für mich. Auf dem server, auf dem die Datei liegt habe ich überdings keinen administrativen Zugriff.

    Besten Dank im Voraus

    Gruß

    Franz-Josef

     

    Samstag, 9. Februar 2013 15:50

Antworten

  • Bei Komprimierung muss man immer dazu sagen welche du meinst ! Zip, Rar, ....

    Ich nehme mal an, dass du NTFS Komprimierung meinst !?

    Das Add-Type muss nur einmal in das Script !
    Danach kann man [Win32Functions.ExtendedFileInfo]::GetCompressedFileSize("Pfad\.....") immer nutzen.

    Ungetestet!

    add-type -type  @'
    using System;
    using System.Runtime.InteropServices;
    using System.ComponentModel;
    
    namespace Win32Functions
    {
        public class ExtendedFileInfo
        {
            [DllImport("kernel32.dll", SetLastError=true, EntryPoint="GetCompressedFileSize")]
            static extern uint GetCompressedFileSizeAPI(string lpFileName, out uint lpFileSizeHigh);
    
            public static ulong GetCompressedFileSize(string filename)
            {
                uint high;
                uint low;
                low = GetCompressedFileSizeAPI(filename, out high);
                int error = Marshal.GetLastWin32Error();
                if (high == 0 && low == 0xFFFFFFFF && error != 0)
                throw new Win32Exception(error);
                else
                return ((ulong)high << 32) + low;
            }
        }
    }
    '@
    
    [Win32Functions.ExtendedFileInfo]::GetCompressedFileSize( "C:\autoexec.bat")


    Siehe: http://stackoverflow.com/questions/554010/how-to-get-the-actual-size-on-disk-of-a-file-from-powershell


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!





    • Bearbeitet Peter Kriegel Samstag, 9. Februar 2013 18:20
    • Als Antwort markiert Franz-Josef Sonntag, 10. Februar 2013 16:20
    Samstag, 9. Februar 2013 17:54