uncleb
Goto Top

Entwickler für einen Windows Prozess Ablauf gesucht

Guten Abend zusammen,
Ich suche jemanden der mir hilft mein vorhaben umzusetzen, evtl. würde das ganze ja schon mit einer Batch Datei klappen?

Kurz worum es hier eigentlich geht, ich verleihe Fotoboxen, nach der Veranstaltung geht es drum die Bilder an den Auftraggeber zu bringen.
Bei einigen Bildern muss die Größe angepasst werden eine Stapelverarbeitung sozusagen, Bilder mit bestimmten Datei Namen sollen gelöscht werden und anschließend sollte alles auf meiner NAS landen.
Bislang erledige ich alle Schritte "per Hand" denke man könnte auch alles in eine Batch umsetzen?

Also nach der Veranstaltung liegen 6 Ordner im "Eventordner"

Event XY
- Originals
- Singles
- Prints
- Thumps
- Animation
- Videos

1.Die Ordner "Singles" "Prints/Thumps" "Videos" sollten komplett inkl. Inhalt gelöscht werden, die brauche ich nicht.
2. Im Ordner "Prints" liegen Dateien die mit "*_2x.jpg" enden, die können komplett gelöscht werden
3. Dann soll der Ordner Prints kopiert werden in "Prints - Komp" anschließend sollen alle Bilder in diesem Ordner verkleinert werden 1280 x 1024 und als komprimierte JPG gespeichert werden (Mit xnview soll das angeblich über die Commandline klappen?) Dann auf meine NAS geschoben werden
4. Die Ordner "Originals, Prints und Animation" sollen gepackt werden (Im bestenfall mit dem Namen der Übergeordneten Ordners "Event XY") und anschließend auch auf die NAS geschobene werden

Kann mir hier jemand helfen? Muss natürlich nicht umsonst sein

Content-ID: 6062154400

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

Ausgedruckt am: 25.11.2024 um 01:11 Uhr

michi1983
michi1983 20.02.2023 um 21:05:44 Uhr
Goto Top
Hallo,

lies bitte nochmal Punkt 1 und 2, da widersprichst du dir.

Gruß
Crusher79
Crusher79 20.02.2023 um 23:24:26 Uhr
Goto Top
Zitat von @michi1983:

Hallo,

lies bitte nochmal Punkt 1 und 2, da widersprichst du dir.

Gruß

Wieso? Denke Thumps? eher Thumbs? ist ein Unterordner. Hab den Slash mal im Kopf verdreht face-wink So würde es dann wieder Sinn machen.
NordicMike
NordicMike 21.02.2023 um 07:22:04 Uhr
Goto Top
Hab den Slash mal im Kopf verdreht
Das gilt auch nur für Windows face-smile
Gewisse Nerds machen sich lustig darüber, dass Windows das Slash verkehrt herum macht face-smile
UnbekannterNR1
UnbekannterNR1 21.02.2023 um 07:57:13 Uhr
Goto Top
Ich habe keine Lösung direkt aber, versuche es mal mit Chatgpt perfektes Beispiel für das Ding. Ich denke dort bekommst du in ca. 20 min. ein Ergebnis was direkt für Dich zugeschnitten ist.
LarSwarS
LarSwarS 21.02.2023 um 08:00:57 Uhr
Goto Top
Moin,

schau mal ob das was für dich wäre, kleines Powershell Script, keine extra SW nötig:

Powershell: Bilder verkleinern oder an bestimmte Größe anpassen

Zum löschen sollte so was in der Art genügen:
$folder2delete = 'D:\Singles', ...
foreach($folder in $folder2delete){
Remove-Item '$folder' -Recurse}

Danach die Funktion von oben aufrufen und das sollte es gewesen sein.

Grüße
Lars
Crusher79
Crusher79 21.02.2023 um 08:04:51 Uhr
Goto Top
Ist Karneval oder?

Automatisieren, "brauche ein Script" - normal lohnt es sich nicht eine Antwort zu schreiben, da unsere Code-Schnippsler 300 Zeilen in 3 Sekunden + Beta-Test hier als Antwort rein kippen.

ChatGPT? Dachte wäre nur was für Erwachsene.

@UncleB ja es geht simpel mit PS. Hab nur grad wenig Zeit. Du findest hier auch zig Beispiel zum Verschieben, Löschen und Umbenennen von Dateien. Die könnte man adaptieren. Bilder kann man mit C-Sharp und somit auch PS manipulieren. Oder du nimmst Software die Batch-Verabeitung kann. Und vlt. noch über die Konsole bedienbar ist.

Packen ist genauso einfach. Würde aber auch Kommando-Zeilen Tool verwenden. Gibt auch DLLs die man einfach einbinden kann. Hab mir mal die Karten gelegt, da es für Windwos 7 und 10 verschiedene Versionen gibt. Gerade bei Drittanbieter Tools ist es mitunter einfacher diese direkt unter Kommandozeile anzusprechen. face-wink

Manche sind auch portable und man kann die EXE direkt aufrufen. NAS via Dateifreigabe ist einfach. Auch via FTP und anderer Sauereien - WinSCP. Ist alles da und teils auch hier im Forum oft beschrieben.

mfg Crusher
NordicMike
NordicMike 21.02.2023 um 08:22:06 Uhr
Goto Top
Es ist tatsächlich ein Script, das jeder Admin hinbekommen würde. Das Problem dabei ist, dass die Vorgabe nur eine kurze Zeit aktuell ist, dann kommen die ersten Wünsche und Änderungen hinterher. Auch das Debugging, wenn das Script am Anfang zwar läuft, in 2 Monaten jedoch die Sachen doch nicht mehr erfolgreich erledigt hat z.B. ein kleiner Lesefehler auf der SD Karte.

Damit du mit so etwas umgehen kannst, sollte dir das Scipt nicht nur einfach erstellt werden, sondern es sollte dir beigebracht werden wie es Zeile für Zeile funktioniert und du es damit selbst verändern und pflegen kannst. z.B. wünscht ein Kunde stärker komprimierte Bilder oder ein anderes Format, als die Kunden bisher.
3063370895
3063370895 21.02.2023 aktualisiert um 09:01:58 Uhr
Goto Top
100% ungetestet, aber sollte ein Anfang sein. Wenn's ins Detail gehen soll dann stell uns mal einen Testordner zur Verfügung.

if(!(Get-Module -ListAvailable -Name "ResizeImageModule")){  
    Register-PSRepository -Default -InstallationPolicy Trusted
    Install-Module ResizeImageModule
}

$Eventordner = "C:\event"  
$Ordnerloeschen = "Singles","Prints\Thumbs","Videos"  
$nas = "\\nas\ordner"  
$OrdnerZippen = "Originals","Prints","Animation"  

$leaf = Split-Path -Path $Eventordner -Leaf

# nicht benötigte Ordner löschen
$Ordnerloeschen | ForEach-Object {
    Remove-Item -Force -Path "$EventOrdner\$_"  
}

# Dateien mit "*._2x.jpg" finden und löschen 
Get-ChildItem -Path "$Eventordner\Prints" -Filter "*._2x.jpg" | Remove-Item -Force  

# Ordner Prints kopieren
Copy-Item -Path "$Eventordner\Prints" -Destination "$Eventordner\Prints-Komp"  

# Bilder verkleinern
Resize-ImagesInFolder -Width 1280 -Height 1024 -FolderPath "$Eventordner\Prints-Komp"  

# Verkleinerte Bilder auf NAS kopieren
Copy-Item -Path "$Eventordner\Prints-Komp" -Destination $nas  

# Ordner zippen und auf NAS verschieben
$OrdnerZippen | Compress-Archive -DestinationPath "$nas\$leaf.zip"  
UncleB
UncleB 22.02.2023 um 14:02:36 Uhr
Goto Top
Hallo zusammen,
Danke für die vielen Antworten face-smile
Natürlich sollte der Ordner statt "Thumps" "Thumbs" lauten

@Crusher79
Aktuell setze ich die Stapelverarbeitung mit XNViewMP um, aber ich muss alles "manuell" machen, Bilder/ Ordner löschen, komprimieren, verschieben etc.
Alles zusammengefasst in einem Script würde mir da besser gefallen.
Deswegen habe ich mir mal den Ansatz von @chaot1coz geschnappt.
Vielen Danke schonmal.
Vorab, ich hab keine Ahnung von PS, aber Ansatzweise macht das Script ja schon was es soll, die unbrauchbaren Ordner werden gelöscht.
In Zeile:25 Zeichen:1 hackt es:
Resize-ImagesInFolder : Der Befehl "Resize-ImagesInFolder" wurde im Modul "ResizeImageModule" gefunden, das Modul konnte aber nicht geladen werden. Wenn Sie weitere Informationen wünschen, führen Sie "Import-Module ResizeImageModule" aus.  
In Zeile:25 Zeichen:1
+ Resize-ImagesInFolder -Width 1280 -Height 1024 -FolderPath "$Eventord ...  
+ ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Resize-ImagesInFolder:String) , CommandNotFoundException
    + FullyQualifiedErrorId : CouldNotAutoloadMatchingModule

Ich vermute, es werden im Schritt davor auch nicht die Bilder in "Prints-Komp" kopiert, der Ordner wird zwar erstellt, aber ohne Inhalt.

Ich habe einfach mal eine Ordnerstruktur hochgeladen. (Nur die "Interessanten" Ordner beinhalten ein paar Beispielbilder)

https://nas.buidlkastn.de:5001/d/s/sU1KXIUTP6CoFRklKDQdeROgCHqju3H9/BC1r ...
3063370895
3063370895 22.02.2023 aktualisiert um 14:12:47 Uhr
Goto Top
if(!(Get-Module -ListAvailable -Name "ResizeImageModule")){  
    Register-PSRepository -Default -InstallationPolicy Trusted
    Install-Module ResizeImageModule
}
Import-Module ResizeImageModule
$Eventordner = "C:\event"  
$Ordnerloeschen = "Singles","Prints\Thumbs","Videos"  
$nas = "\\nas\ordner"  
$OrdnerZippen = "Originals","Prints","Animation"  

$leaf = Split-Path -Path $Eventordner -Leaf

# nicht benötigte Ordner löschen
$Ordnerloeschen | ForEach-Object {
    Remove-Item -Force -Path "$EventOrdner\$_"  
}

# Dateien mit "*._2x.jpg" finden und löschen 
Get-ChildItem -Path "$Eventordner\Prints" -Filter "*._2x.jpg" | Remove-Item -Force  

# Ordner Prints kopieren
Copy-Item -Path "$Eventordner\Prints" -Destination "$Eventordner\Prints-Komp"  

# Bilder verkleinern
Resize-ImagesInFolder -Width 1280 -Height 1024 -FolderPath "$Eventordner\Prints-Komp"  

# Verkleinerte Bilder auf NAS kopieren
Copy-Item -Path "$Eventordner\Prints-Komp" -Destination $nas  

# Ordner zippen und auf NAS verschieben
$OrdnerZippen | Compress-Archive -DestinationPath "$nas\$leaf.zip"  

Versuche es so mal. Habe mir die Ordnerstruktur noch nicht angesehen..
Geändert ist nur die Zeile 5