Ændring af standard ls i PowerShell til menneskeligt læsbare filstørrelser - Trin-for-trin guide

Hvordan kan standard ls (Get-ChildItem) i PowerShell ændres, så den viser menneskeligt læsbare filstørrelser, ligesom ls -h på en *nix-maskine?

Ændring af standard ls (Get-ChildItem) i PowerShell til menneskeligt læsbare filstørrelser kan opnås ved at bruge Get-ChildItem sammen med ForEach-Object og en brugerdefineret funktion til at formatere filstørrelserne, som vist i det medfølgende script.

Ændring af standard ls (Get-ChildItem) i PowerShell til menneskeligt læsbare filstørrelser

For at ændre standard ls (Get-ChildItem) i PowerShell, så den viser menneskeligt læsbare filstørrelser, ligesom ls -h på en *nix-maskine, kan du bruge følgende fremgangsmåde:

  1. Åbn PowerShell.

  2. Brug Get-ChildItem sammen med ForEach-Object og en brugerdefineret funktion til at formatere filstørrelserne.

  3. Her er et eksempel på en PowerShell-kommando, der gør dette:

    Get-ChildItem | ForEach-Object {
        $size = $_.Length
        if ($size -gt 1GB) {
            $size = "{0:N2} GB" -f ($size / 1GB)
        } elseif ($size -gt 1MB) {
            $size = "{0:N2} MB" -f ($size / 1MB)
        } elseif ($size -gt 1KB) {
            $size = "{0:N2} KB" -f ($size / 1KB)
        } else {
            $size = "$size B"
        }
        [PSCustomObject]@{
            Name = $_.Name
            Size = $size
            LastWriteTime = $_.LastWriteTime
        }
    } | Format-Table -AutoSize
  4. Dette script gør følgende:

    • Henter en liste over filer og mapper i den aktuelle mappe.
    • Itererer gennem hver fil og mappe.
    • Formaterer filstørrelsen til en menneskeligt læsbar form (B, KB, MB, GB).
    • Opretter et brugerdefineret objekt med filnavn, størrelse og sidste ændringstidspunkt.
    • Viser resultaterne i en tabel med automatisk tilpasning af kolonnebredden.

Ved at bruge denne metode kan du nemt få vist filstørrelser i et mere læsbart format, hvilket gør det lettere at forstå og arbejde med filstørrelser i PowerShell.