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:
und hier die ausgabe:
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:
Gruß Michael
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....
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 159695
Url: https://administrator.de/contentid/159695
Ausgedruckt am: 23.11.2024 um 10:11 Uhr