JPG und PNG mit bestimmten Namen, verkleinern + benennung
Hallo zusammen.
Ich suche eine recht einfache Lösung die ich bisher nicht bei den gängigen Programmen wie Irfanview etc... gefunden habe.
Ich habe eine Ordner mit z.b. 1000 Bildern, die heissen:
wildcard_F.jpg
wildcard_R.jpg
wildcard_L.jpg
wildcard_T.jpg
wildcard_U.jpg
wildcard_B.jpg
oder eben png's
Skript 1:
Skaliere alle Bilder auf die längste Seite = 1024 pixel(erstelle zusätzlich einen Ordner: ,,HIGH" wo er die neuskalierten Bilder hineinpackt)
Skript 2: (kann aber auch direkt hintereinander passieren)
Wenn "_F" oder "_R" oder "_L" dann skaliere die längste Seite auf 256 pixel und hänge zusätzlich "_low" an den Namen.( erstelle zusätzlich einen ordner: "LOW" wo der die "_low" reinkopiert.)
"_T" = 128 pixel +"_low"
"_U" & "_B" = 32 pixel +"_low"
Hier gibt zwar schon ein Tool, wo man einige Voreinstellungen und Layouts speichern kann. Aber leider müsste ich das für jede Datei separat ausführen.
Das Tool ist auch Open Source, aber leider kenne ich mich mit dem Programmieren nicht aus.
Tool: https://github.com/bricelam/ImageResizer/releases
Liebe Grüße
Markus
Ich suche eine recht einfache Lösung die ich bisher nicht bei den gängigen Programmen wie Irfanview etc... gefunden habe.
Ich habe eine Ordner mit z.b. 1000 Bildern, die heissen:
wildcard_F.jpg
wildcard_R.jpg
wildcard_L.jpg
wildcard_T.jpg
wildcard_U.jpg
wildcard_B.jpg
oder eben png's
Skript 1:
Skaliere alle Bilder auf die längste Seite = 1024 pixel(erstelle zusätzlich einen Ordner: ,,HIGH" wo er die neuskalierten Bilder hineinpackt)
Skript 2: (kann aber auch direkt hintereinander passieren)
Wenn "_F" oder "_R" oder "_L" dann skaliere die längste Seite auf 256 pixel und hänge zusätzlich "_low" an den Namen.( erstelle zusätzlich einen ordner: "LOW" wo der die "_low" reinkopiert.)
"_T" = 128 pixel +"_low"
"_U" & "_B" = 32 pixel +"_low"
Hier gibt zwar schon ein Tool, wo man einige Voreinstellungen und Layouts speichern kann. Aber leider müsste ich das für jede Datei separat ausführen.
Das Tool ist auch Open Source, aber leider kenne ich mich mit dem Programmieren nicht aus.
Tool: https://github.com/bricelam/ImageResizer/releases
Liebe Grüße
Markus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 330012
Url: https://administrator.de/contentid/330012
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
10 Kommentare
Neuester Kommentar
Macht alles was du brauchst, ganz ohne Zusatztools
Powershell: Bilder verkleinern oder an bestimmte Größe anpassen
Gruß
Powershell: Bilder verkleinern oder an bestimmte Größe anpassen
Gruß
Nein
Wenn du den genannten Link gelesen hättest wüsstest du warum. Du hast die Executionpolicy in einer Admin-PS-Konsole nicht richtig angepasst! Stichwort Set-Executionpolicy
https://technet.microsoft.com/de-de/library/ee176961.aspx
Und leider gibt er mir eine Fehlermeldung aus.
PS C:\Users\Markus> C:\Users\Markus\Desktop\Resize_Rename.ps1
Die Datei "C:\Users\Markus\Desktop\Resize_Rename.ps1" kann nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist. Weitere Informationen finden Sie unter
"about_Execution_Policies" (http://go.microsoft.com/fwlink/?LinkID=135170).
PS C:\Users\Markus> C:\Users\Markus\Desktop\Resize_Rename.ps1
Die Datei "C:\Users\Markus\Desktop\Resize_Rename.ps1" kann nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist. Weitere Informationen finden Sie unter
"about_Execution_Policies" (http://go.microsoft.com/fwlink/?LinkID=135170).
Wenn du den genannten Link gelesen hättest wüsstest du warum. Du hast die Executionpolicy in einer Admin-PS-Konsole nicht richtig angepasst! Stichwort Set-Executionpolicy
https://technet.microsoft.com/de-de/library/ee176961.aspx
$low = "C:\Users\Markus\Desktop\Neuer Ordner\LOW"
$high = "C:\Users\Markus\Desktop\Neuer Ordner\HIGH"
gci "C:\Users\Markus\Desktop\Neuer Ordner\*" -Recurse -Include '*.jpg','*.png' | Group {[regex]::match($_.Basename,'\w$').Value} | %{
$files = $_.Group
$files | Resize-Image -OutPath $high -NewWidth 1024 -NewHeight 1024 -Passthru | %{rename-item $_ -NewName ([IO.Path]::GetFilenameWithoutExtension($_) + "_HIGH" + [IO.Path]::GetExtension($_.))}
switch -Regex ($_.Name){
'F|R|L'{
$files | Resize-Image -OutPath $low -NewWidth 256 -NewHeight 256 -Passthru %{rename-item $_ -NewName ([IO.Path]::GetFilenameWithoutExtension($_) + "_LOW" + [IO.Path]::GetExtension($_))}
}
'T'{
$files | Resize-Image -OutPath $low -NewWidth 128 -NewHeight 128 -Passthru | %{rename-item $_ -NewName ([IO.Path]::GetFilenameWithoutExtension($_) + "_LOW" + [IO.Path]::GetExtension($_.))}
}
'U|B'{
$files | Resize-Image -OutPath $low -NewWidth 128 -NewHeight 128 -Passthru | %{rename-item $_ -NewName ([IO.Path]::GetFilenameWithoutExtension($_) + "_HIGH" + [IO.Path]::GetExtension($_.))}
}
}
}
Wow, da liefert man es einem schon komplett mit allen Wünschen frei Haus und es ist immer noch nicht genug. Verkehrte Welt...
Habe leider keine Vorkenntnisse
"Powershell Tutorial" in die Suchmaschine deiner Wahl einzutippen ist ja schon zu viel verlangt hier.
Erstens "pastest" du das in die Konsole was hier vollkommen falsch ist!, mach daraus bitte ein Skript (ps1), und zweitens ist dir da irgendwie ein Punkt an eine Stelle gerutscht der da nicht hingehört.
Findet auch ein Anfänger:
https://blogs.technet.microsoft.com/heyscriptingguy/2014/09/26/powertip- ...
Wie ich den relativen Pfad setzen kann, mit ".\" klappt es leider nicht.
$PSScriptRoot
liefert den Pfad zum Skript. Convert-Path.
den aktuellen PfadFindet auch ein Anfänger:
https://blogs.technet.microsoft.com/heyscriptingguy/2014/09/26/powertip- ...
Danke, dies ist ein hilfreicher Artikel, ich kann jpg in png vom Lieferanten konvertieren: jpg4png.com