Powershell - If Bedienung - Prüfe ob mehr als eine Datei vorhanden ist, dann mache weiter, sonst ignorier es

Mitglied: Weezyt

Weezyt (Level 1) - Jetzt verbinden

24.03.2016 um 14:51 Uhr, 1089 Aufrufe, 15 Kommentare

Hallo zusammen,

hab hier nen Skript zur gezielten Entfernung von Dateien im Unterverzechnis. In den Ordnern FPC1a und FPC1b ist jeweils eine oder mehrere Bilder gespeichert. Der Skript erlaubt z.b bei vielen Bildern in einer der Order, alles zu löschen, außer das Erste und das Letzte nach Datum. Nur ist das so , dass es manchmal vorkommt, dass nur ein Bild in den Ordnern ist und das führt eben zur ner Fehlermeldung.

Kann ich da einen weiteren If Bedienung einbauen, welches überprüft, ob mehr als 1 Bild drinne ist und bei true dann eben den Skript weiter durchläuft. Bei false diesen Ordner ignoriert?






MfG
Mitglied: 114757
114757 (Level 4)
24.03.2016, aktualisiert um 15:09 Uhr
Kann ich da einen weiteren If Bedienung einbauen, welches überprüft, ob mehr als 1 Bild drinne ist
Das wird in Zeile 13 schon gemacht...

Nur wenn es 3 oder mehr Bilder im Ordner gibt werden Dateien gelöscht, da zum Löschen ja mindestens 3 Bilder da sein müssen wenn du das älteste und das Neueste File erhalten willst.

Gruß jodel32
Bitte warten ..
Mitglied: Weezyt
24.03.2016 um 15:37 Uhr
Eig schon ja es kommen auch keine Fehlermeldungen auf meinen Rechner, wenn ich es ausführe.
Über das Write-host sehe ich ja wie es die einzelnen Dateien auflistet und einfach ganz normal durchläuft. Aber auf der Anlage, wenn ich das Programm abspiele, kommen bei den Ordnern, wo eben nur ein Bild drinne ist, fehler. Ich kann mir diesen Mythos auch nicht erklären.

Der Fehler lautet so :


Bitte warten ..
Mitglied: 114757
114757 (Level 4)
LÖSUNG 24.03.2016, aktualisiert um 15:47 Uhr
Powershell ist auf der Anlage aktuell ?

Nehm mal anstatt .length die Eigenschaft .count für den Vergleich in Zeile 13.
Bitte warten ..
Mitglied: Biber
24.03.2016 um 15:51 Uhr
[OT]
Kann ich da einen weiteren If Bedienung einbauen
Nimm mal eine Bedingung statt einen Bedienung.

Bedienung ist deprecated seit PowerShell 2.0.
Biber

P.S. Es ist auch dir erlaubt, Titel und Eröffnungsbeitrag zu editieren.
[/OT]
Bitte warten ..
Mitglied: Weezyt
24.03.2016 um 15:54 Uhr
hmm komisch mit count läuft das ding aufeinmal ohne Fehlermeldung .

Also ich habe auf beide die veraltete version. 1.0 drauf. Läuft eig der Prozess mit dem neueren Updates viel schneller?
Denn auf meinen Rechner läuft, dass eig relativ flüssig weisst du. Auf der Anlage hängt sich das auf und läuft halt wieder weiter, dauert eben länger.

Auf jeden Fall danke für die Hilfe :) face-smile

Gruß

PS: Warum nicht .lengt, sonder .count?
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
24.03.2016, aktualisiert um 16:24 Uhr
Zitat von @Weezyt:
PS: Warum nicht .lengt, sonder .count?
Count zählt die Objekte. Wenn in der Variablen aber nur ein Objekt vorhanden ist ist die Variable kein Array mehr und wenn man dann length verwendet gibt length stattdessen die Anzahl der Zeichen des Dateinames zurück, oder im Fall der PS 2.0 sogar gar auch nichts. Dies ist in aktuelleren Versionen nicht mehr der Fall.
Bitte warten ..
Mitglied: Weezyt
30.03.2016 um 11:30 Uhr
Hallo nochmal,

weiß eigentlich einer, ob man den Befehl Write-Progress mit der If-Schleife kombinieren kann, sodass man zb bei einem längeren Prozess so ein Ladebalken visualisieren kann. Habe es nur nach einer for Schleife gesehen


So kann ich ja einfach alle .bmp Dateien aufzählen bzw. auflisten aber wie kann ich das Ganze mit der If-Schleife kombinieren? Hat einer ne Idee

MfG
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
30.03.2016, aktualisiert um 11:43 Uhr
na, mit deine IF-Abfrage die FOR-Schleife umschließen...so dass der Fortschritt nur kommt wenn es Bilder gibt. Das 1 mal 1 der Programmierung.

Btw. eine "If-Schleife" gibt es in keiner Programmiersprache :-) face-smile

Und please: Bestehende gelöste Beiträge nicht zum Stellen immer neuer Grundlagen-Fragen missbrauchen!
RTFM!
Bitte warten ..
Mitglied: Weezyt
30.03.2016 um 11:46 Uhr
Oh stimmt If-Bedienung/Abfrage hieß es sry :D

Aber an welcher Stelle der If-Abfrage muss ich dass den einbauen in meinem Bespiel oben,?Das versteh ich nicht.
Bitte warten ..
Mitglied: Biber
30.03.2016, aktualisiert um 11:53 Uhr
[OT ii]
Zitat von @Weezyt:

Oh stimmt If-Bedienung/Abfrage hieß es sry :D
Nein, es heisst nicht If-Bedienung... *schluchz*

Hätte ich ja bereits weiter oben erwähnen können, sorry, mein Fehler....

RTFDuden..

Ich hasse diese Montage....

Biber
[/OT ii]
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
30.03.2016, aktualisiert um 11:55 Uhr
Das versteh ich nicht
Oh mann echt schwer von Begriff... das Oberstübchen wohl noch beim Eier suchen :-/ face-confused
In Zeile 13 wird doch geprüft ob es mehr als 2 Bilder gibt oder nicht, also ist das deine Position an der du ansetzt, war das so schwer ?? Wenn ja dann Buch

Schon wieder Freidaach ?
Bitte warten ..
Mitglied: Weezyt
30.03.2016 um 12:55 Uhr
Könnt ihr eig auch mal antworten ohne einen runterzumachen....

nach der If($list.length ...)also so :




tut aber nicht.
Bitte warten ..
Mitglied: Biber
30.03.2016 um 13:18 Uhr
...und wenn du durchgängig $list.count statt willkürlich mal $list.count, mal $list.length nehmen würdest?
Bitte warten ..
Mitglied: Weezyt
30.03.2016 um 13:45 Uhr
Ne leider nicht dewegen
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
30.03.2016, aktualisiert um 14:41 Uhr
Gähhnnn ...
@Biber mach hier den Laden dicht ... :-) face-smile
Bitte warten ..
Heiß diskutierte Inhalte
Off Topic
Ein Weg weg von Microsoft. Wie würde man es angehen? Lasst uns doch etwas spinnen
it-fraggleVor 1 TagAllgemeinOff Topic48 Kommentare

Guten Morgen Kollegen, es treibt mich schon seit einigen Jahren um, dass es sinnvoll wäre langsam einen Weg weg von Microsoftprodukten zu finden. Mir ...

Batch & Shell
Wieso funktioniert das nicht?
gelöst Hundy132Vor 1 TagFrageBatch & Shell10 Kommentare

Hallo Freunde, kann mir irgendjemand sagen wieso meine Batch datei nicht funktioniert? So sieht Sie aus: Hier soll ein ein vorgegebenes Passwort Eingegeben werden ...

Server-Hardware
HPE ProLiant MicroServer Gen10 Plus - Wo wird das OS installiert?
mayho33Vor 1 TagFrageServer-Hardware13 Kommentare

Hallo @ All, Ich liebäugle mit einem neuem Server (siehe Überschrift). Mein alter Gen8 ist zwar immer noch am laufen, aber es gibt einiges ...

Router & Routing
Probleme mit VPN Verbindung über shrewsoft
martenkVor 1 TagFrageRouter & Routing25 Kommentare

Hallo Gemeinschaft, habe ein Problem mit der o.g. Verbindung die Verbindung wird aufgebaut und ich kann auch den entfernten Rechner anpingen unter ipconfig sehe ...

Windows Server
Server 2019 RDS-CALs für Domänen-Admins? Ernsthaft?
gelöst anteNopeVor 1 TagFrageWindows Server7 Kommentare

Nabend zusammen, ich habe hier heute einen RDS auf Basis eines Server 2019 STD installiert und mit User-CALs lizenziert. Soweit funktioniert auch alles. Nur ...

Exchange Server
Outlook Automatisch auf alle eingehendem Mail eine Antwortvorlage versenden
shooanVor 1 TagFrageExchange Server13 Kommentare

Guten Morgen, ich hätte da gerne mal ein Problem zur Lösung. Auf das Freigegeben Postfach Bewerbung@ wünscht nun die Führung das auf alle Mail ...

LAN, WAN, Wireless
100m GBit-Richtfunk im Freien - Produktempfehlungen?
mstrd308Vor 1 TagFrageLAN, WAN, Wireless9 Kommentare

Hallo zusammen, ich bin auf der Suche nach Produktempfehlungen um einen Richtfunk von einem Gebäude zu einen weiteren zu realisieren. Die Peripherie soll draußen ...

Exchange Server
Transparente Mail-Archivierung Exch. 2016 m. direktem Outlook-Zugriff
departure69Vor 1 TagFrageExchange Server17 Kommentare

Hallo. - Windows 2016 AD-Domäne, 2 DCs unter W2K16 Std. (1 x physisch, 1 x virtuell unter Hyper-V), Funktionsebene 2016 - Exchange 2016 unter ...