Guten Tag,
nachdem mir hier mit meinen ersten versuchen schon geholfen wurde (wobei mir nur eine Klammer entgangen war) wollte ich nun versuchen mein script in eine PS1 Datei zu speichern um diese für späteren gebrauch nutzen zu können. Da ich aber nicht immer das gleiche Verzeichnis durchsuchen will und ggf. auch mal eine andere Größenbegrenzung brauche, wollte ich mit Variablen arbeiten, die ich dann beim Aufruf übergeben kann.
param ( [string]$pfad = "P:\", [decimal]$size = "10") gci $pfad -recurse -errorAction SilentlyContinue |Where-Object {$_.Length -gt $sizeMB} | Format-Table -Property @{Label = "File"; Expression={$_.FullName}}, @{Label = "Size";Formatstring="{0:0.00}";Expression={$_.Length/1MB}}
Das ist der Inhalt meiner aktuellen PS1 Datei. die Übergabe von -pfad Funktioniert soweit.
Die übergabe von -size gibt mir keine Fehlermeldung oder soetwas zurück. Aber in der Ausführung werden mir einfach alle Dateien im Verzeichnis angezeigt. Ich habe auch versucht $size als String zu setzen, aber dann kann powershell die größen nicht vergleichen (mein String war als "10MB" gesetzt). Mir ist auch klar wieso dieser vergleich nicht so funktioniert, aber wie kann ich mit einer Variablen an dieser Stelle die größe und die Einheit (MB,GB...) mitgeben?
Vielen Dank schon mal an jeden der sich durch diesen Text gearbeitet hat und noch mehr Dank an jeden der eine Idee zur Lösung meines Problems hat.
mfg
Hamster