weezyt
Goto Top

Mit Batch gewünschte Bilder im gewünschten Unterordner löschen

Hallo ich bin`s wieder mal face-smile,

brauch wieder mal euren Fachwissen um eine Batch Aufgabe zu lösen. Wie es schon im Titel steht, bräuchte ich einen Skript, mit dem ich einige Bilder in gewisse Unterordner löschen kann.

Ich vermute , dass es nicht so ganz klappt, wie ich es mir vorstelle.

Hauptverzeichnis: C:\ Ordner XYZ
Unterverzeichnis C:\Ordner XYZ\Ordner A
Unterverzeichnis C:\Ordner XYZ\Ordner B
Unterverzeichnis C:\Ordner XYZ\Ordner C

Weitere Unterverzeichnis : C:\ Ordner XYZ\Ordner A\Ordner AA
Weitere Unterverzeichnis : C:\ Ordner XYZ\Ordner B\Ordner BB
Weitere Unterverzeichnis : C:\ Ordner XYZ\Ordner C\Ordner CC

In den Ordnern (AA,BB,CC) sind mehrere Bilder. Gibt es einen Skript womit ich 1.) Nur die Bilder in AA und CC löschen kann ohne die BB zu berücksichtigen
2.) Beim löschen der Bilder in AA und CC, das Erste und das Letzte Bild zu behalten, also nicht zu löschen.
(Alles dazwischen zu löschen)
Über ein Umweg vielleicht mit copy?

Danke im Vorraus

MfG

Content-Key: 297771

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

Printed on: April 23, 2024 at 07:04 o'clock

Mitglied: 126919
126919 Mar 01, 2016 updated at 09:11:52 (UTC)
Goto Top
das Erste und das Letzte Bild zu behalten, also nicht zu löschen.
Was bedeutet bei dir erstes und letztes Bild ? Ist hier das Datum ausschlaggebend oder die alphabetische Sortierung der Bildernamen?

fk
Member: Weezyt
Weezyt Mar 01, 2016 at 09:14:02 (UTC)
Goto Top
Oh sry für die blöde Beschreibung. Also ich meine das älteste Bild und das jüngste Bild sollten bleiben und alle anderen dazwischen gelöscht.
Mitglied: 126919
126919 Mar 01, 2016 updated at 09:44:14 (UTC)
Goto Top
Powershell (PS 3.0):
gci 'c:\ordner\*' -Recurse -Directory -Include "Ordner AA","Ordner BB" | %{  
    $list = gci "$($_.Fullname)\*.*" -File | sort LastWriteTime  
    $list[1..($list.Length-2)] | remove-item -Force
}
Member: Weezyt
Weezyt Mar 01, 2016 at 09:32:46 (UTC)
Goto Top
Ist Powershell auch sowas ähnlichres? Also die Batch Skripte speichere ich alle im Texteditor mit der Endung .bat ab. Ist es da auch der Fall?

Zu deinem Skript: Bei gci ' c:\Ordner\* ' kommt das das Hauptverzeichnis rein Also Ordern XYZ?
Mitglied: 126919
126919 Mar 01, 2016 updated at 09:43:37 (UTC)
Goto Top
Zitat von @Weezyt:

Ist Powershell auch sowas ähnlichres? Also die Batch Skripte speichere ich alle im Texteditor mit der Endung .bat ab. Ist es da auch der Fall?
X)
https://de.wikipedia.org/wiki/Windows_PowerShell
Zu deinem Skript: Bei gci ' c:\Ordner\* ' kommt das das Hauptverzeichnis rein Also Ordern XYZ?
Ja, sonst hätte ich den Ordner ja anders benannt. X)
Member: TlBERlUS
TlBERlUS Mar 01, 2016 at 09:44:34 (UTC)
Goto Top
Zitat von @Weezyt:

Ist Powershell auch sowas ähnlichres?
Batch ist, außer auf alten System, tot.
Also die Batch Skripte speichere ich alle im Texteditor mit der Endung .bat ab. Ist es da auch der Fall?
Die werden als *.ps1 abgespeichert.
Zu deinem Skript: Bei gci ' c:\Ordner\* ' kommt das das Hauptverzeichnis rein Also Ordern XYZ?
gci 'c:\ordner\*' -Recurse   

Durchsucht den angegebenen Ordner und alle Unterordner (mit Include eingeschränkt)
Member: Weezyt
Weezyt Mar 01, 2016 at 10:06:12 (UTC)
Goto Top
gci 'c:\Users\VAT1RT\Desktop\Versuch' -Recurse -Directory -Include "FAL_XYR","FAL_Z" | %{


$list = gci "$($_.Directoryname)\*.*" | sort LastWriteTime


$list[1..($list.Length-2)] | remove-item -Force


}

Also so gebe ich es in Windows PowerShell ISE ein und versuche es auszuführen. Allerdings steht da mehrmals in rot geschrieben, InvalidArgument face-sadC:\VS_ESPBSLN_x64 usw.
Mitglied: 126919
126919 Mar 01, 2016 updated at 10:11:39 (UTC)
Goto Top
Erstens hast du nicht meinen aktuellen Code oben kopiert (hatte ich kurz danach korrigiert), zweitens hast du beim Pfad das \* am Ende weggelassen was du in diesem speziellen Fall mit Include nicht vergessen darfst!

Ebenso wird für obigen Code min. PS 3.0 benötigt für 2.0 muss man es etwas umschreiben.

Member: Weezyt
Weezyt Mar 01, 2016 at 10:17:59 (UTC)
Goto Top
Ist die Umschreibung den aufwendig? Ich kenn mich halt überhaupt nicht damit aus.
Mitglied: 126919
126919 Mar 01, 2016 updated at 10:21:27 (UTC)
Goto Top
st die Umschreibung den aufwendig? Ich kenn mich halt überhaupt nicht damit aus.
Nein kein Problem:
gci 'c:\ordner\*' -Recurse -Include "Ordner AA","Ordner BB" | ?{$_.PSIsContainer} | %{  
    $list = gci "$($_.Fullname)\*.*" | ?{!$_.PSIsContainer} |  sort LastWriteTime  
    $list[1..($list.Length-2)] | remove-item -Force
}
Member: Weezyt
Weezyt Mar 01, 2016 at 10:28:36 (UTC)
Goto Top
Ich versteh die Fehlermeldung nicht:

Cannot index into a null array.
At C:\Users\VAT1RT\Desktop\Löschen Jüngste und älteste.ps1:7 char:5

back-to-top$list[1..($list.Length-2)] | remove-item -Force

back-to-top~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : InvalidOperation: (face-smile , RuntimeException
+ FullyQualifiedErrorId : NullArray


Naja trotzdem Danke für deine Bemühungen. Du warst echt eine große Hilfe

MfG
Member: TlBERlUS
TlBERlUS Mar 01, 2016 at 11:53:01 (UTC)
Goto Top
Zitat von @Weezyt:
Naja trotzdem Danke für deine Bemühungen. Du warst echt eine große Hilfe
Soll uns das sagen, dass das Problem behoben ist?
Wenn ja, bitte noch entsprechend markieren.
Member: Weezyt
Weezyt Mar 01, 2016 at 12:05:03 (UTC)
Goto Top
Ja eigentlich ist es ja nicht behoben. Vielleicht noch ne Idee?
Member: TlBERlUS
TlBERlUS Mar 01, 2016 at 12:24:38 (UTC)
Goto Top
Zitat von @Weezyt:

Ja eigentlich ist es ja nicht behoben. Vielleicht noch ne Idee?
Teste mal nach und nach, wo der Fehler auftritt. Wenn ich das richtig sehe, scheint irgendwo eine der Datei-Übergaben fehlzuschlagen.

gci 'c:\ordner\*' -Recurse -Include "Ordner AA","Ordner BB" | ?{$_.PSIsContainer} | %{  
    $list = gci "$($_.Fullname)\*.*" | ?{!$_.PSIsContainer} |  sort LastWriteTime  


Läuft er hierbei schon in den Fehler?
Member: Weezyt
Weezyt Mar 01, 2016 at 13:05:42 (UTC)
Goto Top
At C:\Users\VAT1RT\Desktop\Löschen Jüngste und älteste.ps1:1 char:102

back-to-top... sContainer} | %{

back-to-top~

Missing closing '}' in statement block.
+ CategoryInfo : ParserError: (face-smile , ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingEndCurlyBrace


Diesmal der Fehler
Member: Weezyt
Weezyt Mar 01, 2016 at 13:07:29 (UTC)
Goto Top
ahso das war wegen der fehlenden Klammer, aber so kommt kein Fehler, aber es führt auch nichts aus
Member: TlBERlUS
TlBERlUS Mar 01, 2016 at 13:15:17 (UTC)
Goto Top
Zitat von @Weezyt:

ahso das war wegen der fehlenden Klammer, aber so kommt kein Fehler, aber es führt auch nichts aus
Dann bitte bei jedem Mal um eine Pipe '|' kürzen/erweitern, bis du ein Ergebnis bekommst. z.B. mit
gci 'c:\ordner\*' -Recurse -Include "Ordner AA","Ordner BB"  

anfangen.
Member: Weezyt
Weezyt Mar 01, 2016 at 13:41:09 (UTC)
Goto Top
Bis zu dem Pipe: | sort LastWriteTime , kommt keine Fehlermeldung es führt aber auch nichts aus.

Alles dannach führt zu Fehlermeldung hier mal paar Screens zur Verdeutlichung

Ohne Fehlermeldung

Mit Fehlermeldung

Ordnerpfad

Ordnerpfad/Unterverzeichnis
Member: Weezyt
Weezyt Mar 02, 2016 at 06:55:02 (UTC)
Goto Top
Keiner ne Idee?
Member: TlBERlUS
TlBERlUS Mar 02, 2016 at 07:35:50 (UTC)
Goto Top
Hi,

clear-host
gci 'C:\Desktop\test\*' -Recurse -Include "testAA"| ?{$_.PSIsContainer} | %{  
    $list = gci "$($_.Fullname)\*.*" | ?{!$_.PSIsContainer} |  sort LastWriteTime  
    $list
    #$list[1..($list.Length-2)] | remove-item -Force
}


Hier müsste er dir, nach deiner Anpassung, Dateien ausgeben?
Mitglied: 126919
126919 Mar 02, 2016 updated at 09:02:59 (UTC)
Goto Top
Also Leute,
erstens bekommst du keine Ausgabe weil das Ergbnis der Variablen $list zugewiesen und nicht ausgegeben wird. Wenn diese leer ist also keine Dateien in dem Ordner in Frage kommen kommt es zu diesem Fehler, weil die Variable dann leer ist und somit auch kein Array ist.
Diese Situation kann man natürlich zusätzlich abfangen
gci 'c:\ordner\*' -Recurse -Include "Ordner AA","Ordner BB" | ?{$_.PSIsContainer} | %{  
    $list = gci "$($_.Fullname)\*.*" -recurse | ?{!$_.PSIsContainer} |  sort LastWriteTime  
    if ($list){
       if ($list.length -gt 2){
           $list[1..($list.Length-2)] | remove-item -Force
       }
    }
}
Funktioniert hier so wie du deine Frage zu Anfang geschildert hast einwandfrei.

Der Fehler liegt leider bei dir.

So viel Heckmeck für so was simples ...X)
Member: Weezyt
Weezyt Mar 02, 2016 at 09:01:23 (UTC)
Goto Top
Tut mir Leid, wenn ich dir deine letzten Nerven raube, aber wie gesagt ich kenne mich überhaupt nicht aus. Die Zeit mich in diesem Themengebiet reinzulesen, habe ich leider nicht.

Der Letzte Skript von dir zeigt keine Fehlermeldung auf, wenn ich es ausführe. Der Ordner ist aber wirklich nicht leer, da sind Bilder im .bmp Format. Ich habe nachgeschaut und, mir ist aufgefallen, dass die Bilder nicht direkt im Ordner AA und BB sind sondern in AA gibt es noch nochmal 2 Ordner Ordner AA\Ordner AAA und das Gleiche auch bei BB.

Aber ich denke das ist nicht ausschlaggebend oder, weil es sich eh um eine Rekursiven Durchlauf handelt.

Wie gesagt es passiert einfach nichts, nach dem neuen Skript.
Mitglied: 126919
126919 Mar 02, 2016 updated at 09:05:57 (UTC)
Goto Top
Zitat von @Weezyt:

Ich habe nachgeschaut und, mir ist aufgefallen, dass die Bilder nicht direkt im Ordner AA und BB sind sondern in AA gibt es noch nochmal 2 Ordner Ordner AA\Ordner AAA und das Gleiche auch bei BB.
Ja das muss man schon wissen, die berühmte Glaskugel sagt uns das leider nicht !!!
Aber ich denke das ist nicht ausschlaggebend oder, weil es sich eh um eine Rekursiven Durchlauf handelt.
Doch das ist sehr wohl ausschlaggebend. Ist im letzten Skript darauf hin angepasst.
Wie gesagt es passiert einfach nichts, nach dem neuen Skript.
Weil du uns dieses Detail leider verschwiegen hast, deswegen!
Member: Weezyt
Weezyt Mar 02, 2016 at 09:06:48 (UTC)
Goto Top
Oh verdammt es funktioniert tatsächlich wenn, die Bilder in Ordner AA und BB wären. Sry der Befehl muss doch angepasst werden für:

C:\Ordner \XYZ\Ordner A\Ordner AA\Ordner AAA
C:\Ordner \XYZ\Ordner B\Ordner BB\Ordner BBB

Tut mir echt Leid ist blöd von mir gewesen. Könnt ihr es für ein Letztes Mal anpassen das wäre echt nett.

MfG
Mitglied: 126919
126919 Mar 02, 2016 updated at 09:28:56 (UTC)
Goto Top
Zitat von @Weezyt:

. Könnt ihr es für ein Letztes Mal anpassen das wäre echt nett.
Hab ich doch gerade schon im Skript meines letzten Posts getan und abgeändert .... !
Bitte mal meine Kommentare richtig lesen. Danke.
Member: Weezyt
Weezyt Mar 02, 2016 at 10:14:32 (UTC)
Goto Top
Danke für deine Ergänzung. Ich sehe irgendwie nicht auf Anhieb wenn du oben bei deiner Skript was änderst.

Es hast fast geklappt. Ich weiß auch warum es nicht ganz geklappt hat.

Bei dem Ordner : C:\Ordner XYZ\Ordner A\Ordner AA\ Ordner AAA funktioniert es prima, da es im Ordner AA nur ein Ordner AAA hat

Bei dem Ordner: C:\Ordner XYZ\Ordner B\Ordner BB\ Ordner BBB löscht es alle Bilder bis auf den ersten, da In Ordner BB, 2 Ordner drinne sind. Also Einmal den bekannten Ordner BBB und noch ein Ordner BBA.

So ungefähr : C:\Ordner XYZ\Ordner B\Ordner BB\ Ordner BBB
C:\Ordner XYZ\Ordner B\Ordner BB\ Ordner BBA

Wenn ich den Ordner BBA aus testgründen lösche dann funkt es. Wie gesagt es liegt daran das da eben noch ein Ordner vorhanden ist.

Noch etwas ist mir aufgefallen : In den letzten Ordnern, wo die Bilder gespeichert sind, ist jeweils auch eine .txt Datei die nicht gelöscht werden sollte.

Wenn es nicht zuviel verlangt ist, könntest du bitte nochmal zaubern?

Vielen Dank
Member: Weezyt
Weezyt Mar 02, 2016 at 11:40:25 (UTC)
Goto Top
Ich bitte dich darum
Member: Weezyt
Weezyt Mar 03, 2016 at 07:14:55 (UTC)
Goto Top
Es betrachtet die Ordner BBB und BBA als einer und nimmt jeweils den ersten von BBB und den letzten von BBA (nach Datum), deshalb sind in den Ordner nur ein Bild enthalten, nachdem ich das Befehl ausgeführt habe.
Mitglied: 126919
126919 Mar 03, 2016 updated at 09:32:13 (UTC)
Goto Top
Zitat von @Weezyt:

Es betrachtet die Ordner BBB und BBA als einer und nimmt jeweils den ersten von BBB und den letzten von BBA (nach Datum), deshalb sind in den Ordner nur ein Bild enthalten, nachdem ich das Befehl ausgeführt habe.
Ist ja auch logisch, weil du es oben vollkommen durcheinander gewürfelt hast und keine mehr nachvollziehen konnte was du nun wirklich willst, wenn du nur den einen Ordner berücksichtigen willst nimm ihn oben in die Includes auf und entferne das -recurse in Zeile 2. Schon arm wie wenig sich die Leute hier mit den Codes beschäftigen wenn man ihnen schon eine Steilvorlage liefert. Das ist hier doch kein "mach mir meine Arbeit" Forum. Ein Minimum an Lernbereitschaft setzt man in einem Admin Forum eigentlich voraus face-sad

Na dann noch viel Spaß.
Im out a here.

fk
Member: Weezyt
Weezyt Mar 03, 2016 at 10:00:46 (UTC)
Goto Top
Das habe ich leider auch schon versucht aber die Namen der Ordner vom letzten Unterverzeichnis, wo die Bilder drinne sind, sind gleich. Wenn es in den Includes steht wird der Ordner bei dem es nicht passieren soll, auch angegriffen. Ist ja nicht so, dass ich es nicht versuche klappt halt nicht. Wenn du wüsstest, wie Lange ich schon daran sitze und rumversuche bwz. suche.
Mitglied: 114757
114757 Mar 03, 2016 updated at 10:16:25 (UTC)
Goto Top
Moin,
man kann bei gci auch Ordnerlevel angeben ab wo bestimmte Ordner gesucht werden....face-wink
gci 'C:\Ordner XYZ\*\*\*' ...............usw. wie oben.  

Gruß jodel
Member: Weezyt
Weezyt Mar 03, 2016 at 10:23:09 (UTC)
Goto Top
So einfach ist es leider nicht. Sonst müsste ich ja für jeden Ordner einen Skript schreiben. Der Ansatz oben stimmt, aber es fehlt halt irgendwas
Mitglied: 114757
114757 Mar 03, 2016 updated at 10:27:19 (UTC)
Goto Top
Zitat von @Weezyt:

So einfach ist es leider nicht. Sonst müsste ich ja für jeden Ordner einen Skript schreiben. Der Ansatz oben stimmt, aber es fehlt halt irgendwas
Wieso, nö ?? Du musst halt hier mal "unmissverständlich" klar machen was dein Ordner ausmacht und wie er eindeutig erkannt werden kann ... Das wird hier aus deinen tausenden AAs und BBs leider nicht klarer face-sad
Wenn man es vernünftig beschreibt wäre das in ein zwei Antworten schon geklärt gewesen, aber wenn man erst tröpfchenweise mit Details rausrückt wird das nichts.
Member: Weezyt
Weezyt Mar 03, 2016 at 10:45:27 (UTC)
Goto Top
Sry aber ich dachte ich versuche es so einfach wie möglich zu gestalten, damit es eben leicht zu verstehen ist. Habe ja sogar Bilder hochgeladen, um das Ganze zu verdeutlichen face-sad

Ich Versuche es mal besser zu gestalten. Vergisst die ganzen AA oder BB. So siehts Orginal aus.

C:\Users\VAT1RT\Desktop\Versuch -> Hauptverzeichnis

C:\Users\VAT1RT\Desktop\Versuch\FA_BlaBla123 ->Unterverzeichnis, davon gibt es natürlich dutzende, die ähnlich heissen z.B FA_BlaBla456

C:\Users\VAT1RT\Desktop\Versuch\FA_BlaBla123\FAL_Z -> Weitere Unterverzeichnis
C:\Users\VAT1RT\Desktop\Versuch\FA_BlaBla123\FAL_Tilt -> Weitere Unterverzeichnis
C:\Users\VAT1RT\Desktop\Versuch\FA_BlaBla123\FAL_XYR -> Weitere Unterverzeichnis
C:\Users\VAT1RT\Desktop\Versuch\FA_BlaBla123\PAL_XYR -> Weitere Unterverzeichnis

Die Ordner (FAL_Z, FAL_Tilt, FAL_XYR, PAL_XYR) sind auch in den anderen dutzend enthalten wie zb in FA_BlaBla456

-> Noch weitere Unterzeichnisse

C:\Users\VAT1RT\Desktop\Versuch\FA_BlaBla123\FAL_Z\FPC1b
C:\Users\VAT1RT\Desktop\Versuch\FA_BlaBla123\FAL_Tilt\FPC1a und FPC1b
C:\Users\VAT1RT\Desktop\Versuch\FA_BlaBla123\FAL_XYR\FPC1a und FPC1b
C:\Users\VAT1RT\Desktop\Versuch\FA_BlaBla123\PAL_XYR\FPC1a und FPC1b

In den Ordner (FPC1a und FPC1b) sind die Bilder, die gelöscht werden müssen, außer das jüngste und älteste. Zusätzlich soll der Ordner FAL_Tilt einfach ignoriert werden, heißt da soll nichts passieren.

Wie du siehst klappt es nicht ganz mit den Icludes, da die Ordner (FPC1a und FPC1b) auch in FAL_Tilt enthalten drinne sind. Somit würden sich die Bilder auch dort löschen.

Ach das Ganze regt mich auf face-sad
Member: Weezyt
Weezyt Mar 03, 2016 at 10:48:49 (UTC)
Goto Top
Zur Ergänzung: Es hat alles gefunkt, aber mit dem Code oben, betrachtet es die Ornder FPC1a und FPC1b als ein Ordner und löscht alles, bis auf die jüngste von FPC1a und das älteste in FPC1b, dabei sollen die Ordner seperat betrachtet werden.
Mitglied: 114757
Solution 114757 Mar 03, 2016 updated at 11:57:31 (UTC)
Goto Top
Habe ja sogar Bilder hochgeladen, um das Ganze zu verdeutlichen
Gut das ist jetzt endlich verständlich, (auf deinen Bildern erkennt man das aber bei weitem nicht ... außerdem bietet das Forum hier einen Bilderupload im Ursprungspost, dann braucht man nicht auf solchen Werbeverseuchten Seiten rumsurfen)

Damit geht das hier testweise einwandfrei und löscht auch keine Textdateien wie du gewünscht hast.
gci 'C:\Users\VAT1RT\Desktop\Versuch\*' -Recurse -Include "FPC1a","FPC1b" | ?{$_.PSIsContainer -and $_.FullName -notlike '*\FAL_Tilt*'} | %{  
    $list = gci $_.Fullname  -Exclude *.txt | ?{!$_.PSIsContainer} | sort LastWriteTime
    if ($list){
        if ($list.length -gt 2){
            $list[1..($list.Length-2)] | remove-item -Force
        }
    }
}
Ach das Ganze regt mich auf
Ruhig bleiben und die Doku lesen, dann ist das kein Hexenwerk face-wink Von nüx kommt nüx face-smile
Member: Weezyt
Weezyt Mar 03, 2016 at 12:01:40 (UTC)
Goto Top
Gott sei dank es tut endlich wie ich es haben will. Danke euch alle samt für eure Mühen. Hast du vielleicht eine Seite, wo das Ganze mit Powershell, leicht verständlich erklärt wird.

DANKE nochmal face-smile
Mitglied: 114757
114757 Mar 03, 2016 updated at 12:04:54 (UTC)
Goto Top
Member: Weezyt
Weezyt Mar 04, 2016 at 09:30:18 (UTC)
Goto Top
Hallo jodel,

funkt PowerShell auch mit IrfanView, sodass ich z.b die Bilder im Ordner FAL_Tilt konventieren kann?

MfG
Mitglied: 114757
114757 Mar 04, 2016 updated at 09:52:25 (UTC)
Goto Top
Zitat von @Weezyt:

Hallo jodel,

funkt PowerShell auch mit IrfanView, sodass ich z.b die Bilder im Ordner FAL_Tilt konventieren kann?
Alles was sich per CMD steuern lässt geht auch mit Powershell.
Aber wenn es um so einfache Sachen wie die Größe oder Format ändern geht, das kann die Powershell nativ auch selber, da sie das komplette NET-Framework nutzen kann.
Guckst du hier: Powershell: Bilder verkleinern oder an bestimmte Größe anpassen
Member: Weezyt
Weezyt Mar 04, 2016 at 10:08:24 (UTC)
Goto Top
Größe ja, aber Format ändern geht nicht auf dem Link oder? Also z.b bmp zu jpg
Mitglied: 114757
114757 Mar 04, 2016 updated at 10:12:42 (UTC)
Goto Top
Zitat von @Weezyt:

Größe ja, aber Format ändern geht nicht auf dem Link oder? Also z.b bmp zu jpg
Doch kann man damit auch in dieser Zeile der zweite Parameter:
 $newImg.Save($newImagePath,$img.RawFormat) 
ändern in
 $newImg.Save($newImagePath,[System.Drawing.Imaging.ImageFormat]::Jpeg) 

https://msdn.microsoft.com/de-de/library/system.drawing.imaging.imagefor ...
Member: Weezyt
Weezyt Mar 04, 2016 at 10:30:45 (UTC)
Goto Top
Könnte ich theoretisch den Code von oben nehmen und die Ganzen If Befehle entfernen und es durch so einer ForEach Schleife ersetzen?

foreach($list in *.bmp) {...} ?
Mitglied: 114757
114757 Mar 04, 2016 updated at 10:38:33 (UTC)
Goto Top
$list | ?{$_.Extension -eq '.bmp'} | Resize-Image -OutPath "D:\Bilder\klein" -NewWidth 800 -NewHeight 600  

Les dich doch bitte in Powershell mal ein. Danke.
Member: Weezyt
Weezyt Mar 04, 2016 at 10:45:19 (UTC)
Goto Top
Mit Aufruf der Konventierung meinst du ? $newImg.Save($newImagePath,[System.Drawing.Imaging.ImageFormat]::Jpeg)?
Mitglied: 114757
114757 Mar 04, 2016 updated at 10:47:34 (UTC)
Goto Top
Zitat von @Weezyt:

Mit Aufruf der Konventierung meinst du ? $newImg.Save($newImagePath,[System.Drawing.Imaging.ImageFormat]::Jpeg)?
Nee, bitte les doch den Beitrag von @colinardo erst mal bitte ... Das ist eine Komplette Funktion in der du die diese Zeile änderst und dann in dein Skript einbaust.
Wir können dir hier das Lesen und Lernen nicht abnehmen, ein bisschen musst du auch schon dafür tun.