%20vorhanden%20und%20gr%C3%B6%C3%9Fer%20als%200%20KB%20ist.png)
Mit dem Folgenden kann ich erfolgreich prüfen, ob eine Datei vorhanden ist und größer als 0 KB ist:
$getFILE = 'C:\DIR\FILE1.txt'
IF (test-path $getFILE){
IF ((get-item $getFILE).length -gt 0) {
"OK";return 0
}
ELSE {
"0 bytes";return 2
}
}
ELSE {
"doesn't exist";return 1
}
Ich kann wie folgt prüfen, ob eine Platzhalterdatei vorhanden ist:
$getFILE = 'C:\DIR\FILE*.*'
IF (test-path $getFILE){
"OK";return 0
}
else {
"doesn't exist";return 1
}
Ich bekomme die beiden Konzepte jedoch nicht zusammen. Im Folgenden ist, wenn die Wildcard-Datei existiert, immer 0 zurückzugeben:
$getFILE = 'C:\DIR\FILE*.*'
IF (test-path $getFILE){
IF ((get-item $getFILE).length -gt 0) {
"OK";return 0
}
else {
"0 bytes";return 2
}
}
else {
"doesn't exist";return 1
}
Antwort1
Ok, ich habe noch ein bisschen herumgespielt und mir ist etwas eingefallen, das funktioniert:
$vDIR = 'C:\DIR'
$vFILE = 'FILE*.*'
$proc = @(Get-ChildItem $vDIR -Recurse -Include $vFile | Where {$_.length -gt 0})
If ($proc.count -gt 0) {
ForEach ($item in $proc) {
Do a bunch of stuff
}
Else {
Do this other thing
}
Wenn jemand eine sauberere Lösung hat, würde ich sie trotzdem gerne sehen.
EDIT: Habe meine Lösung ziemlich verändert. Nochmals, wenn es einen besseren Weg gibt, dies zu tun, bin ich sehr offen für Vorschläge, die mir helfen, mein allgemeines Wissen/meine Fähigkeiten zu verbessern.