WERBUNG

Eigenes Programm zum RAW Datei Löschen wenn kein Jpeg mehr da ist

Ich habe das Programm jetzt auch mal angeschaut bzw. wollte es. Ich habe den gleichen Unexpected error while moving files wie schon weiter oben von brawler beschrieben.

Auch da ist von *.ARW die Rede.
Ich habe aber keine ARW.
Du testet anscheinend zwar alle RAW, setzt dann aber die Endung des ersten Listenelements voraus. Da Du anscheinend ARW hast, fällt es nicht auf.
(Windows 7, 64-bit)

Wenn ich eine ARW generiere, dann wird diese verschoben.

Übrigens habe ich noch alte CRW-Dateien (Powershot Sxx) gefunden. Da wird von der Kamera auch ein Thumbnail generiert *.thm
Die müssten eigentlich mit der CRW-Datei gelöscht werden.
Du siehst, es wird immer komplexer.


Würde ich so lapidar jetzt nicht sagen. Ich kann mir sehr wohl vorstellen, dass Unix-Usern alle Dateiendungen erkannt haben wollen aber weiterhin wie gewohnt mit case sensitive Dateinamen arbeiten wollen.
Die Dateien
Fall 1: bild001.raw BILD001.raw BILD001.RAW bild001.jpg (non-Windows)
Fall 2: BILD001.RAW bild001.jpg (Windows)
Fall 3: BILD001.RAW bild001.jpg (non-Windows)
liegen in einem Ordner. Was passiert und wieso bzw. wieso soll das mal richtig und dann wieder falsch sein?
Wir reden hier vom Löschen von Daten. Ich würde den sicheren Weg gehe und an Case-Sensitivität nicht denken.

An sich geht es nicht um Windows, MAC & UNiX-User, sondern um das verwendete Dateisystem. Die FAT32-Speicherkarte ist auf allen Betriebssystemen case-insensitiv.
 
Zuletzt bearbeitet:
Ich habe das Programm jetzt auch mal angeschaut bzw. wollte es. Ich habe den gleichen Unexpected error while moving files wie schon weiter oben von brawler beschrieben.

Auch da ist von *.ARW die Rede.
Ich habe aber keine ARW.
Du testet anscheinend zwar alle RAW, setzt dann aber die Endung des ersten Listenelements voraus. Da Du anscheinend ARW hast, fällt es nicht auf.
(Windows 7, 64-bit)

Ahhhhhh, cool. Ja, ich arbeite tatsächlich mit "AWR" als raw Endung. Dann ist da wohl noch ein Bug drin. ;) Aber das lässt sich ja schnell lösen. :)

Mit Glück schon heute Abend. Spätestens aber am Wochenende.

Die Dateien
Fall 1: bild001.raw BILD001.raw BILD001.RAW bild001.jpg (non-Windows)
Fall 2: BILD001.RAW bild001.jpg (Windows)
Fall 3: BILD001.RAW bild001.jpg (non-Windows)
liegen in einem Ordner. Was passiert und wieso bzw. wieso soll das mal richtig und dann wieder falsch sein?
Wir reden hier vom Löschen von Daten. Ich würde den sicheren Weg gehe und an Case-Sensitivität nicht denken.

Wie ich schon schrieb: Ich werde erst einmal dafür sorgen, dass alles Nicht-case-sensitive ist (wie bei Windows). Solange sich keine Unixianer darüber beschwert ist das erst einmal die sicherere Variante. :)
 
Edit:
Leider funktioniert das Programm bei mir nicht.

-> Fehlermeldung wie am Screenshot ersichtlich

Ich habe das Programm jetzt auch mal angeschaut bzw. wollte es. Ich habe den gleichen Unexpected error while moving files wie schon weiter oben von brawler beschrieben.

Auch da ist von *.ARW die Rede.
Ich habe aber keine ARW.

Es war tatsächlich so, dass ich immer versucht habe ".AWR" Endungen zu verschieben, egal welche RAW-Endungen es ursprünglich waren. ;) Das zu Ändern war ein bisschen aufwändiger als gedacht. Aber da ich auch noch andere Formate rumliegen habe war die Zeit gut invertierst. :)

Der Fehler ist bereinigt und die neue Version liegt hier zum Download bereit:
https://www.dropbox.com/s/v5nzmahugqr4sbn/raw-move-del-tool-061b.zip?dl=0

Was noch nicht geändert wurde:
  1. Fall back des Look and Feel für die Anzeige-Unschönheiten bei Brawler
  2. Groß- und Kleinschreibung bei case sensitiven Dateisystemen (u.a. Unix/Linux) nicht beachten (also dasselbe Verhalten wie bei Windows).
  3. Groß- und Kleinschreibung bei Dateiendungen komplett missachten (z.B. auch "jPg" als jpeg-Datei erkennen)


Tipp: die RAWs dürfen auch doppelt bzw. von der Endung her durcheinander sein. Z.B bei:

111.jpg
111.CR2
222.CR2
333.JPEG
333.CR2
333.DNG

bleibt sowohl 333.CR2 als auch 333.DNG erhalten.

@DT5: es ist also nur noch ein Katzensprung, auch deine *.thm zu löschen ;)

Und für die Tripple/Quadrupel Anforderung von torstnm sehe ich auch Licht (natürlich erst in ferner Zukunft nur wenn ich die Zeit finde).
 
Zuletzt bearbeitet:
Top, funktioniert soweit bei mir :top:
Die grafischen Fehler sind noch erhalten, schränken soweit die Funktionsfähigkeit aber nicht ein.
 
Top, funktioniert soweit bei mir :top:

Prima :)

Die grafischen Fehler sind noch erhalten, schränken soweit die Funktionsfähigkeit aber nicht ein.

Versuche mal eine andere/neuere Java Version zu installieren. Vielleicht hat deine einen Bug.

Ich werde aber wie gesagt noch ein anderes LookAndFeel einprgrammieren. Mit dem Betriebssystem-Unabhängigen aussehen sollte es auf jeden Fall keine Probleme geben.
 
Versuche mal eine andere/neuere Java Version zu installieren. Vielleicht hat deine einen Bug.
Vielleicht? Mit Sicherheit! Jede version. Java ist ein einziger Riesenbug :D
Nicht ohne Grund werden Macs ohne Java ausgeliefert :evil:

Zurück zum Thema.
@Knipsaa
Thx für das Angebot, nur für mich ist das aber nicht nötig.
In diesem Anwendungsfall würde es wohl reichen nur die Endungen .dxo und .xml mit in die Liste der Raw Formate aufzunehmen.
 
Vielleicht? Mit Sicherheit! Jede version. Java ist ein einziger Riesenbug :D
Nicht ohne Grund werden Macs ohne Java ausgeliefert :evil:

Weil Macs natürlich 100% Bugfrei sind :rolleyes: ;) :D

In diesem Anwendungsfall würde es wohl reichen nur die Endungen .dxo und .xml mit in die Liste der Raw Formate aufzunehmen.

Genau das meinte ich ja. Aber statt die Endungen hart mit in den Code aufzunehmen hatte ich eher daran gedacht jeden User seine Endungen selbst konfigurieren lassen zu können.

Wenn es dir tatsächlich hilft, würde ich es irgendwann mal umsetzen. So aufwändig dürfte das nicht werden. Wenn du es aber eh nicht benutzen würdest, kann ich es auch lassen. Ich kann mich auch mit anderen Dingen beschäftigen. :p
 
Die neueste Version 0.6.2beta kann hier heruntergeladen werden:
https://www.dropbox.com/s/75d2mg2y3liqp58/raw-move-del-tool-062beta.zip?dl=0

Änderungen:
  1. Wenn man RAWs und JPEGs im selben Verzeichnis liegen hat, kann man das erste Verzeichnis per Klick auf eine Checkbox in das zweite Feld übernehmen lassen.
  2. Ich habe dem Tool ein kleines Icon spendiert (auch wenn ich mir noch nicht sicher bin, ob es wirklich in allen Java-Versionen und Betriebssystemen angezeigt wird :D)

screenshot_01_mainWindow062.png
 
Zuletzt bearbeitet:
Hey, echt KLASSE ARBEIT die du da ablieferst. Gefällt mir gut und macht alles sehr zu meiner Zufriedenheit. Weiter so und vielen Dank!:)

LG Figo
 
Funktioniert bei mir am Mac (10.10.2) nicht (ohne Fehlermeldung).

Ich habe aber mal ein ähnliches AppleScript geschrieben, das ich nun mal auf den gleichen Funktionsstand gebracht habe.

Quellcode:

Code:
(* 
v0.2b

RAW file mover/deleter

Moves RAW files without related JPEG files to a new folder. 

*)

property RAWFolder : path to home folder
property JPEGFolder : path to home folder

on open theFiles
		if (count theFiles) is not equal to 1 or folder of (info for item 1 of theFiles) is false then
			display dialog "Bitte wählen Sie einen Ordner aus!" with icon stop
			return
		end if
	set RAWFolder to item 1 of theFiles as alias
	set JPEGFolder to RAWFolder
	moveFiles()
end open

on run
	set RAWFolder to (choose folder default location RAWFolder with prompt "Bitte wählen Sie den RAW-Ordner aus:")
	set JPEGFolder to (choose folder default location RAWFolder with prompt "Bitte wählen Sie den JPEG-Ordner aus:")
	moveFiles()
end run

on moveFiles()
	do shell script "#!/bin/bash

RAWs=\"" & POSIX path of RAWFolder & "\";
JPEGs=\"" & POSIX path of JPEGFolder & "\";
cd \"$RAWs\";
oldIFS=$IFS
IFS=$'
'
for i in $(ls *.{ARW,arw,DNG,dng,CRW,crw,CR2,cr2,RAW,raw,RAF,raf,3FR,3fr,DCR,dcr,KDC,kdc,MRW,mrw,NEF,nef,NRW,nrw,ORF,orf,RW2,rw2,PEF,pef,X3F,x3f,SRF,srf,SR2,sr2} 2>/dev/null);
do
	if [ \"$(find \"$JPEGs\" -maxdepth 1 -iname \"${i%.*}.jpg\" -o -iname \"${i%.*}.jpeg\")\" == \"\" ];
	then
		mkdir -p moved_RAWs_without_Jpeg && mv \"$i\" \"$_\";
	fi;
done;
IFS=$oldIFS"
end moveFiles

Der Code muss in den Script-Editor (heißt vor 10.10 AppleScript-Editor) eingefügt und als Programm gespeichert werden.


Unter Linux sollte das enthaltene Shell-Skript ebenfalls funktionieren (ungetestet):

Code:
#!/bin/bash

RAWs="$1";
JPEGs="$2";
cd "$RAWs";
oldIFS=$IFS
IFS=$'\n'
for i in $(ls *.{ARW,arw,DNG,dng,CRW,crw,CR2,cr2,RAW,raw,RAF,raf,3FR,3fr,DCR,dcr,KDC,kdc,MRW,mrw,NEF,nef,NRW,nrw,ORF,orf,RW2,rw2,PEF,pef,X3F,x3f,SRF,srf,SR2,sr2} 2>/dev/null);
do
	if [ "$(find "$JPEGs" -maxdepth 1 -iname "${i%.*}.jpg" -o -iname "${i%.*}.jpeg")" == "" ];
	then
		mkdir -p moved_RAWs_without_Jpeg && mv "$i" "$_";
	fi
done;
IFS=$oldIFS

Das Shell-Skript muss in eine Textdatei ohne Endung gespeichert werden, die dann mit chmod +x "/pfad/deinskript" ausführbar gemacht wird. Anschließen kann das Skript mit /pfad/deinskript "/pfad/RAWordner" "/pfad/JPEGordner" über die Kommandozeile ausgeführt werden. Bei dem Shell-Skript werden keine Eingaben überprüft, daher bitte keinen Unfug damit treiben ;)
 
Zuletzt bearbeitet:
Funktioniert bei mir am Mac (10.10.2) nicht (ohne Fehlermeldung).

Da ich keinen Mac zum testen habe:
  1. Was genau ist bei welcher Aktion die Fehlermeldung (oder startet es garnicht erst)? Wenn es nicht startet: hast du alle meine Anweisungen zum Starten auf Seite 1 befolgt? Was steht im Kommandozeilen-Fenster wenn du die letzte Variante des Startens benutzt?
  2. Welche Version des Tools hast du verwendet (wie lautet der Name des jar files)?
  3. Welche Java Version hast du installiert
 
Zuletzt bearbeitet:
Wird ja immer komfortabler die Geschichte:D

Wenn ich an Programmen selbst irgend etwas verabscheue sind es unnötige Maus-Klicks. :D

Hey, echt KLASSE ARBEIT die du da ablieferst. Gefällt mir gut und macht alles sehr zu meiner Zufriedenheit. Weiter so und vielen Dank!:)

LG Figo

Danke. :)



Ich habe gerade Spaß an diesem kleinen Nebenprojekt. Wenn ihr also irgendwelche Verbesserungsvorschläge oder zusätzlichen Wünsche habt: immer her damit. :)
 
Zuletzt bearbeitet:
Vielleicht die Möglichkeit einen Ordner samt Unterordner zu durchsuchen damit man mehrere Ordner gleichzeitig erledigen kann?
 
Zum Thema Komfort:

Drag&Drop wäre nett :)

Und nun zum wichtigeren Thema - Du hast einen Riesenbug im Programm (wahrscheinlich hast Du noch nicht viel mit Dateioperationen programmiert) und spätestens beim direkt Löschen kannst Du ein richtiges Problem haben:

Du überpüfst nicht, ob es sich bei Deinen gefundenen Raw-Dateien um eine Datei mit Ordnerflag - also einen Ordner - handelt.
Und daher wird ein Ordner mit dem Namen '123.raw' einfach gelöscht, falls das Programm keine passende jpg findet, was bei Ordnern meist der Fall ist.

Edit:
Ich habe mal nachgeschaut, es geht da ganz genau um die Dateiattribute, die abgefragt und ausgewertet werden müssen.
Dies ist zwar nicht Java, könnte Dir aber eventuell bei der Suche helfen:
Code:
{ File attribute constants }

  faInvalid     = -1;
  faReadOnly    = $00000001;
  faHidden      = $00000002 platform; // only a convention on POSIX
  faSysFile     = $00000004 platform; // on POSIX system files are not regular files and not directories
  faVolumeID    = $00000008 platform deprecated;  // not used in Win32
  faDirectory   = $00000010;
  faArchive     = $00000020 platform;
  faNormal      = $00000080;
  faTemporary   = $00000100 platform;
  faSymLink     = $00000400 platform; // Available on POSIX and Vista and above
  faCompressed  = $00000800 platform;
  faEncrypted   = $00004000 platform;
  faVirtual     = $00010000 platform;
  faAnyFile     = $000001FF;
 
Zuletzt bearbeitet:
Mal eine andere Frage (aber nicht ganz OT) - müssen Dateien wie jpg auf dem Mac überhaupt eine Endung haben? Unter OS/2 war das nämlich nicht notwendig und irgendwie habe ich schwach im Hinterkopf, dass das beim Mac ähnlich war.

Wem dem nämlich so ist, dann müsste man den Header potentieller JPG auswerten, wobei es sicherlich auch Funktionen wie IsJPEG() existieren sollten.
 
Zuletzt bearbeitet:
und seit wann haben Ordner eine Dateiendung??? (Dateiendungen 3 Buchstaben zb. xls, jpg und bei Office xlsx)
Sitz ich da wo im Dunklen?:)
 
Wieso sollen Ordner keine Dateiendung haben?
Oder mal anders gefragt, was ist Deiner Meinung nach eine Dateiendung genau - die letzten 3 Buchstaben? Wir leben nicht mehr in der 8.3 Welt.

Die Dateiendung ist die Zeichenkette ab dem letzten Punkt.
Also bei der Datei mit dem Namen 'was.ist.eine.Dateiendung' ist es 'Dateiendung'.
Der letzte Punkt ist der Trenner zwischen Dateiname und Dateiendung. Ob er zur Dateiendung dazugezählt wird oder nur als Trenner anzusehen ist, das ist in diesem Fall egal.

Die meisten oder alle Progarmmiersprachen haben Funktionen, die Dir die Dateierweiterung als Funktion zurückliefern. Aber da wirst Du genau das erhalten, was ich Dir geschrieben habe. Zumindestens ist das unter Windows so. Kann mir aber nicht vorstellen, dass es auf anderen Rechnern anders sein sollte.
 
Zuletzt bearbeitet:
Und nun zum wichtigeren Thema - Du hast einen Riesenbug im Programm (wahrscheinlich hast Du noch nicht viel mit Dateioperationen programmiert) und spätestens beim direkt Löschen kannst Du ein richtiges Problem haben:

Du überpüfst nicht, ob es sich bei Deinen gefundenen Raw-Dateien um eine Datei mit Ordnerflag - also einen Ordner - handelt.
Und daher wird ein Ordner mit dem Namen '123.raw' einfach gelöscht, falls das Programm keine passende jpg findet, was bei Ordnern meist der Fall ist.

Danke für den Hinweis. :)

Da ich selber nie auf die Idee kommen würde meine Verzeichnisse mit RAW Dateiendungen zu versehen (oder irgendeiner anderen Dateiendung) habe ich daran wirklich nicht gedacht.

Mit Version 0.6.2beta würden solche Verzeichnisse tatsächlich mit verschoben und dann evtl. gelöscht werden (wenn keine Kontrolle erfolgt).

Ich halte das eher für ein theoretisches Problem. Aber wenn jemand tatsächlich solche Ordner anlegt wäre es natürlich gefährlich. Deshalb überprüfe ich die Liste der RAW Dateien jetzt nach Verzeichnissen und verschiebe diese nicht.

Die neueste Version 0.6.3beta kann hier heruntergeladen werden:
https://www.dropbox.com/s/u2cqxvo7lvuz597/raw-move-del-tool-063beta.zip?dl=0

Änderungen:
  1. Verzeichnisse die wie RAW files benannt sind (z.B. ein Verzeichnis "123.DNG") werden nicht verschoben (und somit auch nicht gelöscht)
 
Ich weiß, dass es theoretischer Natur ist, aber Du glaubst nicht, was User alles anstellen können...
Und der Job des Prorgammierers ist es, den DAU nicht ins Verderben rennen zulassen.
 
WERBUNG
Zurück
Oben Unten