markus202108 0 Geschrieben 1. September 2021 Melden Teilen Geschrieben 1. September 2021 Hallo zusammen, ich denke, das Problem ist relativ einfach, aber ich konnte keine schnelle Lösung dafür finden...hat jemand eine Idee? Also: Ich mache Bilder sowohl im RAW- als auch im JPG-Format und kopiere sie in Ordner, die wie folgt strukturiert sind: (Betriebssystem: Windows10) D:\20210829\arw D:\20210829\jpg Die Dateien in beiden Ordnern haben identische Namen, der einzige Unterschied ist ihre Erweiterung - jpg VS arw. Dann beginne ich meine Auswahl und lösche alle JPGs, die ich nicht mehr benötige - und nun mein Problem im Workflow: Wie kann ich die entsprechenden ARW-Dateien im 2. Ordner einfach loswerden? Kennt jemand ein kostenloses Programm, das diesen Job macht? Vielleicht hat jemand ein Batch-Skript (oder kann eines erstellen) für diesen Zweck (oder mit PowerShell??) - ich kann mir nur vorstellen, dass sowas funktionieren würde, kenn mich aber mit Scripting nicht wirklich aus, leider... Möglicherweise eine Batch-Datei, die ich einfach in den jeweiligen Hauptordner kopieren und dort ausführen könnte -also zb D:\20210829\ - die nur die beiden Unterordner \jpg und \arw scannen würde, damit man im Batch nicht für jeden Durchlauf die gesamte Ordnerstruktur ändern muss.... Freue mich über Ideen und bin für jede Hilfe dankbar! LG Markus Zitieren Link zu diesem Kommentar
daabm 1.357 Geschrieben 1. September 2021 Melden Teilen Geschrieben 1. September 2021 GCI D:\20210829\jpg | % { DEL "D:\20210829\arw\$($_.BaseName).arw" -EA Si } Sorry, konnte nicht widerstehen In lang: GCI = Get-Childitem (aka "dir") % ist Foreach - eine Schleife, die durch alle Ergebnisse von GCI durchläuft. DEL ist klar - steht für Remove-Item $_.Basename ist der Dateiname ohne Pfad und ohne Endung - wobei in $_ das jeweilige Item aus GCI steht, also immer eine einzelne Datei -EA ist "ErrorAction" Si ist "SilentlyContinue" - mach weiter, wenn's schiefgeht Und ja, für sowas gibt's GUI-Tools noch und nöcher, die machen aber alle keinen Spaß. 1 Zitieren Link zu diesem Kommentar
markus202108 0 Geschrieben 1. September 2021 Autor Melden Teilen Geschrieben 1. September 2021 Danke für den Input, Martin! Sieht recht elegant aus, macht aber bei mir leider etwas anderes...und zwar werden genau alle Files aus dem ARW-Ordner gelöscht, die im JPG-Ordner vorhanden sind...also genau andersrum. Vielleicht hatte ich mich unklar ausgedrückt: Es sollen am Ende in beiden Ordnern genau dieselben Dateien übrig bleiben, einmal die JPGs (die eben von mir dezimiert wurden und so die Vorgabe für die Löschaktion darstellen), im anderen Ordner dieselben Bilder im Format ARW. Außerdem: Die Ordnerstruktur war nur ein Beispiel - manchmal ist es länger und komplexer, Datum + Name...zB - D:\20210822_die Reise nach Absurdistan - im schönen Abendlicht\ oder so....also durchaus mit Leerzeichen, Umlauten etc... dann die beiden Unterordner JPG und ARW. Ich hab keine Ahnung wie powershell damit umgehen würde, deshalb war auch meine Gedanke, wenn man ein Skript od Batch-Skript von innerhalb des Hauptordners startet, dass man sich damit das jeweilige Korrigieren der Syntax ersparen würde. (Oder gerade kommt mir noch ein anderer Einfall: Wenn das (Batch)Skript den Hauptordner zb D:\ nach allen Unterordnern mit der Systematik D:\DATUM_irgendeineZeichenkette\ durchsucht - wobei DATUM immer eine 8-stellige Zahl beginnend mit 20 ist - und dann diese vergleichende Löschoperation in allen jeweiligen JPG bzw ARW-Ordnern durchführt, dann würde man sich das explizite Referenzieren auf einen bestimmten Ordner ersparen und das ganz nebenbei gleich für alle zu behandelnden Ordner lösen vielleicht ist das zu kompliziert, keine Ahnung....) LG Markus Zitieren Link zu diesem Kommentar
daabm 1.357 Geschrieben 2. September 2021 Melden Teilen Geschrieben 2. September 2021 (bearbeitet) Geht alles, aber fertige Skripts schreibt hier nur @BOfH_666 Rekursiv: "-recurse" Wenn der Dateiname selbst eindeutig ist über alle Unterordner hinweg und wenn in \jpg\ nur JPG liegen, deren Pendant in \arw\ vorhanden sein muß - und ohne Gewähr! $Ref = ( GCI "D:\20210829\jpg" -re ).BaseName; GCI "D:\20210829\arw" -re | % { If ( $Ref -notcontains $_.BaseName ) { DEL $_ } } Wenn Dir die Hürde zum Skripten zu hoch ist, wäre "Windows Mass Renamer" vermutlich der richtige Suchbegriff im Browser. bearbeitet 2. September 2021 von daabm Zitieren Link zu diesem Kommentar
MurdocX 952 Geschrieben 2. September 2021 Melden Teilen Geschrieben 2. September 2021 vor 2 Stunden schrieb daabm: Geht alles, aber fertige Skripts schreibt hier nur @BOfH_666 Ich hab mich auch schon das ein oder andere Mal erbarmt 😅 Leg was vor, dann können wir helfen. Jedem ein Skript schreiben geht ja nicht Zitieren Link zu diesem Kommentar
cj_berlin 1.323 Geschrieben 3. September 2021 Melden Teilen Geschrieben 3. September 2021 vor 13 Stunden schrieb MurdocX: Jedem ein Skript schreiben geht ja nicht Doch. Kommt nur auf den Stundensatz an. 3 Zitieren Link zu diesem Kommentar
Lian 2.425 Geschrieben 3. September 2021 Melden Teilen Geschrieben 3. September 2021 vor 16 Stunden schrieb MurdocX: Leg was vor, dann können wir helfen. Jedem ein Skript schreiben geht ja nicht So ist es. Wir bieten gerne Hilfe zur Selbsthilfe, wenn möglich. Ein gewisser Lerneffekt sollte sich beim Fragesteller einstellen, damit man befähigt ist zukünftig selbst Skripte dieser Art zu erstellen. Wir sind keine "Skriptierstube", wir können tatsächlich nicht jedem sein custom skript schreiben. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.