micneu
Goto Top

Powershell - dateien suchen die größer als ein bestimmter wert sind

Hallo Leute,

Habe eine Powershell script was mit ein verzeichnis durchsucht und in eine datei alle pfade der die größer als einen bestimmten wert sind.
Jetzt möchte ich die ausgabe etwas optimieren.

Also hier die ausgabe die ich zurzeit habe:

hier der aufruf meines scripts:
.\filesize.ps1 C:\Users\Public\Pictures c:\install\test.txt 1MB

und hier die ausgabe:

QUELLE: C:\Users\Public\Pictures
ZIEL: c:\install\test.txt
FILESIZE: 1MB
programm gestartet


Verzeichnis: C:\Users\Public\Pictures


Mode LastWriteTime Length Name
------------- ------ ----
-a--- 26.01.2011 14:13 2216416 100.jpg
-a--- 26.01.2011 14:13 2304082 99.jpg
datei c:\install\test.txt wurde erstellt
Auftrag nach 0,08 Sek. erledigt....

und jetzt möchte ich die ausgabe von "Length" nicht wie oben sondern das dort z.B. 2.xx MB steht
entsprechen bei KByte und MByte

hier mein code:

#   **************************************************************
#   filesize   
#   
#    einmal auf der powershell ausgeführt werden
#     "Set-ExecutionPolicy Unrestricted"  
#   **************************************************************
#    
#   **************************************************************
#   * Erstellt M.N. - POWERSHELL / Entwicklung   03.12.2010      *
#   * 
#   **************************************************************
#$ErrorActionPreference = 'stop' 
$ErrorActionPreference = 'SilentlyContinue'          
    $start = Get-Date        
    $QUELLE = $args
    $ZIEL = $args[1]
    $FILESIZE = $args[2]
    $PRGNAME = $myInvocation.MyCommand.Name
    $OPTION = "to neumann@micneu.net -s 'Testmail von powershell' -profile default -q"  
      if ($QUELLE) {
        echo "QUELLE: `t$QUELLE"  
        $Q = 1
      }
      else { 
        echo '$QUELLE nicht gesetzt'                  
        }
      if ($ZIEL) {
        echo "ZIEL: `t`t$ZIEL"  
        $Z = 1
      }
      else { 
        echo '$ZIEL nicht gesetzt'                  
        }
      if ($FILESIZE) {
        echo "FILESIZE: `t$FILESIZE"  
        $F = 1
      }
      else { 
        echo '$FILESIZE nicht gesetzt'                  
        }  
      if (($Q) -and ($Z) -and ($F)) {                        
        echo "programm gestartet"      
        #echo $QUELLE
        #echo $ZIEL
        #echo $FILESIZE
        $TEXT = Get-ChildItem $QUELLE -recurse | ? { $_.Length -gt $FILESIZE }
        if ($TEXT) {
            echo $TEXT
            $TEXT > $ZIEL
            echo "datei $ZIEL wurde erstellt"  
            #& "blatwin.exe $ZIEL $OPTION"  
            }
         else { echo "Keine Datei Grösser als $FILESIZE gefunden" }        
      }
      else {
        echo "Bitte alle angaben machen"  
        echo "das script benötigt 1. die quelle, 2. das ziel, 3. die dateigröße in MB oder GB"  
        echo "$PRGNAME $env:windir c:\temp\test.txt 4MB"  
        }
      $stop = Get-Date
      

#### laufzeit auswertung
function timepost() {
    $gelaufenezeit = ($stop - $start).TotalSeconds
    If ($gelaufenezeit -gt 60) {
        $gelaufenezeit = ($gelaufenezeit / 60)
        $MINSEK = "Min."}  
    Else {$MINSEK = "Sek."}  
    'Auftrag nach {0:0.00} {1} erledigt....' -f $gelaufenezeit, $MINSEK   
    }
    
timepost

Gruß Michael

Content-ID: 159695

Url: https://administrator.de/contentid/159695

Ausgedruckt am: 23.11.2024 um 10:11 Uhr