Zahlen in OrdnerNamen tauschen, 01.12.2010 zu: 2010.12.01

cpx

Aktives Mitglied
Thread Starter
Dabei seit
14.01.2005
Beiträge
2.248
Reaktionspunkte
707
Hallo,

ich suche nach einer einfachen Lösung um Zahlen in OrdnerNamen in der Form von:

01.12.2010 zu: 2010.12.01

zu tauschen.

Beispiele von möglichen OrdnerNamen:

01.12.2010 Party ==> 2010.12.01 Party
31.12.2017 Silvester ==> 2017.12.31 Silvester

Ich habe es mit Name Mangler aus probiert. Es gibt dort leider eine Einschränkung mit den letzten Punkt im OrdnerNamen in den einfachen Filtern so das ich dort nicht weiter komme. Es sind etwas über 700 Ordner vorhanden die ich Umbenennen möchte.
 
Hallo Elebato,

Versuch es mal mit A Better Finder Rename.

Danke für den Hinweis, [URL="http://www.mediafire.com/file/a8hkf05xbxhhnyw/dd.mm.yyyy_nach_yyyy.mm.dd.app.7z"]ich habe ein Droplet erzeugt[/URL] und es funktioniert tatsächlich fast so wie ich es wollte. Problem: das Programm arbeitet nicht zuverlässig und ich muss zwangsweise den Prozess regelmässig im Aktivitätsmanager Killen. Das ist also keine zufrieden stellende Lösung...

Noch Jemand da, mit einer zuverlässigen Lösung ?
 
Zuletzt bearbeitet:
Ich kann auch A Better Finder Rename empfehlen... kostet halt was. ;)

Schön, nur bleibt das Programm regelmässig hängen und dafür gibt's keinen Cent !

Eine weitere Lösung wäre der GraphicConverter, der natürlich noch viel mehr kann.

Tatsächlich ? Verrate mir bitte wie das funktioniert, ein Beispiel wäre nett...
 
Den GC kannst du gratis testen, runter laden von der Webseite.

Hier ein Beispielfoto...

Bildschirmfoto 2017-05-03 um 12.33.10.png
 
Bist du fit in Shellscripten?
Kleine Schleife für alle entsprechenden Ordner, altes Datum auslesen, restlichen Namen auslesen, in neues Datum+restlichen Namen umbenennen

Das Datum selbst kannst du so konvertieren:
date -j -f "%d.%m.%Y" "altes Datum" +%Y-%m-%d
 
Den GC kannst du gratis testen, runter laden von der Webseite.

Den GraphicConverter benutze ich schon länger, auch die Bezahlte Version.

Hier ein Beispielfoto...

Mmmmh... ja Danke für den SnapShot, ein kurzer Hinweis das ich erst den Browser öffnen muss und dann die TastenKombination: CMD+E wäre sehr Hilfreich gewesen. Unglaublich das Umbenennen in der Ablage ausgegraut ist und mann/Frau sich durch die Klapp-Menüs im Browser "Hangeln" muss. Warum gibt es keinen Umbenennen Button den ich in die Leiste hinzu fügen kann ?

Teste später, jetzt Esse ich erst mal in Ruhe.
 
Bist du fit in Shellscripten?

Oh ja, das Terminal Quälen... :D
Was heisst "fit" ? Ich mache viel mit EXIFTOOL und DCRAW im Terminal wenn es um änderungen geht. Das war's dann auch schon. Ein echo "Hallo" schaffe ich wohl auch noch. o_O

Kleine Schleife für alle entsprechenden Ordner, altes Datum auslesen, restlichen Namen auslesen, in neues Datum+restlichen Namen umbenennen

Was... was... was... hoffentlich hat das was mit Pizza zu tun !? Kannst Du mir ein fertiges und lauffähiges Script zeigen ? Weil sonst bleibt mir nur noch das Raten.

Ich möchte DD.MM.YYYY nach YYYY.MM.DD tauschen. Das ist alles.
DD = Tag 2-Stellig,
MM = Monat 2-Stellig,
YYYY = Jahr 4-Stellig.

wie müsste dieses Loop-Script den genau aus sehen ? Ich habe ja kein Problem damit etwas mehr Aufwand zu betreiben wenn dies zum gewünschten Erfolg führt. Selbst die Developer Seite von Apple ist Fehlerhaft was die Scripte an geht.

Das Datum selbst kannst du so konvertieren:
date -j -f "%d.%m.%Y" "altes Datum" +%Y-%m-%d

Wenn ich das ins Terminal übernehme und den Ordner rein ziehe + RETURN-Taste, dann gibt's ne Fehlermeldung. Da fehlt also noch etwas... ich müsste jetzt also langsam mit dem Raten an fangen...
 
Wenn du dich mit dem Terminal und Script nicht wirklich auskennst, ist höchste Vorsicht geboten!!!
Code:
#!/bin/sh
for DIR in *
do
   if [ -d "${DIR}" ]
   then
     DATUM=$(echo $DIR | cut -d" " -f1)
     REST=$(echo $DIR | cut -d" " -f2-)
     DATNEU=$(date -j -f "%d.%m.%Y" "$DATUM" +%Y.%m.%d)
     echo "Benenne \"$DIR\" nach \"$DATNEU $REST\" um"
     #mv "$DIR" "$DATNEU $REST"
   fi
done
Bedingungen:
- du musst im Terminal in das Verzeichnis gewechselt haben, in dem die umzubenennenden Ordner sind
- darin dürfen nur die umzubenennenden Ordner enthalten sein mit deinem angegebenen Muster

Das Script kannst du so erstmal laufen lassen ... es gibt nur aus was es tun würde, und macht keine Umbenennungen (mv-Befehl ist mit # auskommentiert)
Und es ist keinerlei Fehlerabfrage drin - es kann also auch genug Schaden anrichten!

Für jemand ohne Terminal-Kenntnisse empfehle ich die Ausführung mit aktivierter Umbenennung deshalb NICHT!
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: dg2rbf
Hallo SwissBigTwin,

Den GC kannst du gratis testen, runter laden von der Webseite.

mit dem GraphicConverter kann ich keine Zahlen im OrdnerNamen tauschen. Diese Funktion fehlt...
 
Wenn du dich mit dem Terminal und Script nicht wirklich auskennst, ist höchste Vorsicht geboten!!!

KAPIERT !!! :D


Da ist das 1.Problem bei mir: for: bad interpreter: No such file or directoryScript.sh: /bin/sh
Bin auf der Google Suche zu diesem Fehler...
...wenn ich die erste Zeile weg lasse, bekomme ich Zugriffs Probleme: Permission denied

Bedingungen:
- du musst im Terminal in das Verzeichnis gewechselt haben, in dem die umzubenennenden Ordner sind
- darin dürfen nur die umzubenennenden Ordner enthalten sein mit deinem angegebenen Muster

Verstanden.

Für jemand ohne Terminal-Kenntnisse empfehle ich die Ausführung mit aktivierter Umbenennung deshalb NICHT!

Danke und Danke für die Warnung. :)
 
for: bad interpreter: No such file or directoryScript.sh: /bin/sh
Du hast keine /bin/sh ???? Kann kaum sein!
was liefert
ls -al /bin/sh
im Terminal?

Du hast das Script aber nicht einfach als Text ins Terminal kopiert sondern schon ein entsprechendes Script als ausführbare Datei erstellt?
 
Du hast keine /bin/sh ???? Kann kaum sein!
was liefert
ls -al /bin/sh
im Terminal?

Dies: -r-xr-xr-x 1 root wheel 632672 9 Jul 2016 /bin/sh

Du hast das Script aber nicht einfach als Text ins Terminal kopiert sondern schon ein entsprechendes Script als ausführbare Datei erstellt?

Ich habe den Text in TextWrangler eingefügt und dann gespeichert. TextWrangler hat automatisch die DateiEndung: sh am Ende angehängt. Ausführbar ? EDIT: Habe es mit chmod +x probiert, ohne Erfolg. Erzähl mir mehr und schon mal vielen Dank für Deine Geduld. :upten:
 
soweit eigentlich alles richtig gemacht .... inwieweit Textwrangler gleich ein richtiges Script erstellt - keine Ahnung. Aber .sh als Dateiendung (obwohl die prinzipiell egal ist) klingt schonmal nicht falsch.
Wie hast du das Script denn aufgerufen?
Und was sagt ein ls -al <name von deinem script>
Das/die angezeigten x zeigen das "ausführbar" (executable) an ;)

Und schau dir das Script mal mit dem Terminal-Editor an: nano <name deines scriptes>
Nicht dass Textwrangler da nochwas anders formatiert oder so. nano wird mit Ctrl-X beendet.
 
soweit eigentlich alles richtig gemacht

:)

.... inwieweit Textwrangler gleich ein richtiges Script erstellt - keine Ahnung. Aber .sh als Dateiendung (obwohl die prinzipiell egal ist) klingt schonmal nicht falsch.
Wie hast du das Script denn aufgerufen?

Ich habe es in das Terminal Fenster gezogen und die Return-Taste gedrückt. (Vorher natürlich in den Ordner gewechselt wo die um zu benennen Ordner liegen).

Und was sagt ein ls -al <name von deinem script>


Dies: -rwxr--r--@ 1 -- staff 289 3 Mai 15:06 /Users/--/Desktop/Umbennen mit Terminal Script.sh

Das/die angezeigten x zeigen das "ausführbar" (executable) an ;)

Ist schon etwas her das ich mit den Rechten "gespielt" habe. :teeth:

Und schau dir das Script mal mit dem Terminal-Editor an: nano <name deines scriptes>
Nicht dass Textwrangler da nochwas anders formatiert oder so. nano wird mit Ctrl-X beendet.

Sieht so weit gleich aus, kann es sein das das fi in der vorletzten Zeile ein if sein soll ?

#!/bin/sh
for DIR in *
do
if [ -d "${DIR}" ]
then
DATUM=$(echo $DIR | cut -d" " -f1)
REST=$(echo $DIR | cut -d" " -f2-)
DATNEU=$(date -j -f "%d.%m.%Y" "$DATUM" +%Y-%m-%d)
echo "Bennene \"$DIR\" nach \"$DATNEU $REST\" um"
#mv "$DIR" "$DATNEU $REST"
fi
done
 
kann es sein das das fi in der vorletzten Zeile ein if sein soll ?
Ne, das muss so. if wird durch ein fi (if in rückwärts) beendet.
Wo jetzt das Problem bei dir ist, bin ich momentan überfragt.
 
Ich vermute doch irgendwie eine falsche Kodierung durch Textwrangler ... auch wenn dies so nicht unbedingt sichtbar ist. Lösch mal dein Script und mach es neu:
Terminal öffnen und ins Zielverzeichnis wechseln
nano myrename.sh ... dort den Script-Text einfügen, mit Ctrl-X und Enter zum Speichern beenden
chmod +x myrename.sh ... um es ausführbar zu machen
./myrename.sh ... um das Script auszuführen
 
Ich vermute doch irgendwie eine falsche Kodierung durch Textwrangler ... auch wenn dies so nicht unbedingt sichtbar ist.

Funktioniert jetzt anscheinend, ich erhalte als Ausgabe:

Benenne "01.12.2017" nach "2017.12.01 01.12.2017" um
Benenne "02.03.2014" nach "2014.03.02 02.03.2014" um
Failed conversion of ``11.22.3333'' using format ``%d.%m.%Y''

date: illegal time format
usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
Benenne "11.22.3333 TEST so dann endlich" nach " TEST so dann endlich" um

In dem betreffenden Ordner liegen die Ordner:

01.12.2017
02.03.2014
11.22.3333 TEST so dann endlich
 
Funktioniert jetzt anscheinend, ich erhalte als Ausgabe:

Benenne "01.12.2017" nach "2017.12.01 01.12.2017" um
Benenne "02.03.2014" nach "2014.03.02 02.03.2014" um
Failed conversion of ``11.22.3333'' using format ``%d.%m.%Y''

date: illegal time format
usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
Benenne "11.22.3333 TEST so dann endlich" nach " TEST so dann endlich" um

In dem betreffenden Ordner liegen die Ordner:

01.12.2017
02.03.2014
11.22.3333 TEST so dann endlich


EDIT: Ich habe das Script "Scharf" gemacht und es funktioniert perfekt !

Danke schön. :upten::freu:
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben Unten