WinFuture-Forum.de: Fotos (batch)-umbenennen... - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Multimedia-Software
Seite 1 von 1

Fotos (batch)-umbenennen...


#1 Mitglied ist offline   dnr 

  • Gruppe: aktive Mitglieder
  • Beiträge: 949
  • Beigetreten: 06. Januar 10
  • Reputation: 89
  • Geschlecht:Männlich

geschrieben 23. April 2015 - 18:30

Moin,
da meine Fotosammlung mittlerweile schon eine recht kritische Masse erreicht hat, und ich "damals" im jugendlichen Leichtsinn nicht wirklich über eine gescheite Taxonomie nachgedacht habe, hab' ich nun nen kleines "Sortier-Problem"..- :blush:

derzeit sind die Fotos in z.B. folgende Ordner unterteilt:

- Fotos
-- Urlaube
--- Spanien_2009
--- America_2010
--- Türkei_2011

usw.

blöderweise hab ich jeder Datei folgende beispielhafte Namen gegeben:

06052009_am-Strand.jpg
12032010_Rundflugaussicht.jpg
28112011_Geburtstagsfeier.jpg

ja... das erweißt sich nun als Fehler ;)

Ich hätte die Dateinamen gerne so:

06052009_am-Strand.jpg <-> 06-05-2009_am-Strand.jpg
12032010_Rundflugaussicht.jpg <-> 12-03-2010_Rundflugaussicht.jpg
28112011_Geburtstagsfeier.jpg <-> 28-11-2011_Geburtstagsfeier.jpg

Jemand nen Tipp?

Dieser Beitrag wurde von dnr bearbeitet: 23. April 2015 - 18:30

0

Anzeige



#2 Mitglied ist offline   Sturmovik 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.776
  • Beigetreten: 10. Januar 08
  • Reputation: 445
  • Geschlecht:unbekannt
  • Wohnort:In Reichweite der Kaffeemaschine
  • Interessen:IT, Luftfahrt, historische Technik

geschrieben 23. April 2015 - 19:19

Hm, in Bash würd ich dir das in 5 Minuten scripten (is eigentlich nur ein Einzeiler), aber in der Windowswelt lass ich mal anderen den Vortritt, die mit cmd klarkommen :rolleyes:

Aber ich würd dir anraten, das Datum rumzudrehen, macht die Sortierung nachher einfacher: YYYY-MM-DD statt DD-MM-YYYY

Edit: Mal abgesehen von Scripten, es gibt diverse Tools, die Dateien per Stapelverarbeitung nach bestimmten Regeln umbenennen können

Unter den Bildverwaltern kann ACDSee das definitiv, IrfanView glaubich auch (hab lange nich mehr damit gearbeitet)
Eventuell auch mal in Richtung TotalCommander schaun.
(Bin grad ohne Windowsrechner unterwegs, sonst würd ich selber mal nachsehen)

Dieser Beitrag wurde von Sturmovik bearbeitet: 23. April 2015 - 19:24

«Geschichte wiederholt sich nicht, aber sie reimt sich» (Mark Twain)

Unix won't hold your hand. You wanna shoot your foot, Unix reliably delivers the shot.

True Cloudstorage
0

#3 Mitglied ist offline   dnr 

  • Gruppe: aktive Mitglieder
  • Beiträge: 949
  • Beigetreten: 06. Januar 10
  • Reputation: 89
  • Geschlecht:Männlich

geschrieben 23. April 2015 - 19:31

Hallo,
danke für die Antwort Sturmovik.

Ich weiß, dass es da diverse Tools für gibt, aber bezweifele, dass diese aus einem z.B. "06052009" ohne weiteres ein "06-05-2009" machen können. Zumal es ja um mehrere tausend unterschiedlicher solcher zahlencodes geht :/

Dieser Beitrag wurde von dnr bearbeitet: 23. April 2015 - 19:35

0

#4 Mitglied ist offline   Sturmovik 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.776
  • Beigetreten: 10. Januar 08
  • Reputation: 445
  • Geschlecht:unbekannt
  • Wohnort:In Reichweite der Kaffeemaschine
  • Interessen:IT, Luftfahrt, historische Technik

geschrieben 23. April 2015 - 19:39

Das geht in jedem Fall, wenn man einen kleinen Umweg machen kann:
1. Einlesen von DDMMYYY_Name in die Metadaten der Datei (Bei Bildern gibts die Exif-Daten) => das sollte jeder gute Bildverwalter können
2. Neuschreiben des Dateinamens anhand der Metadaten.

Allerdings kann man sich selbige Metadaten damit natürlich versauen.

Ansonsten schwirrt mir grad ein kleines vbscript im Kopf rum. VB kennt ja die nötigen Tools zur String-Verarbeitung mit denen man die ersten 2 Zeichen in ne Variable wegspeichern kann, dann die nächsten 2 in ne andere undsoweiter, am Ende dann die vier Bestandteile wieder zusammensetzen und die Datei final umbenennen.

Wenn sich hier bis zum Wochenende nix tut werd ich mal zusehn, dass ich das verscriptet bekomme.

Setzt natürlich voraus, dass die Timestamps uniform sind. Wenn die ständig das format ändern wirds weniger trivial, da müsste man evtl manuell vorsortieren und das script entsprechend anpassen.

Dieser Beitrag wurde von Sturmovik bearbeitet: 23. April 2015 - 19:41

«Geschichte wiederholt sich nicht, aber sie reimt sich» (Mark Twain)

Unix won't hold your hand. You wanna shoot your foot, Unix reliably delivers the shot.

True Cloudstorage
0

#5 Mitglied ist offline   deafpublisher 

  • Gruppe: Mitglieder
  • Beiträge: 18
  • Beigetreten: 17. Juni 09
  • Reputation: 1

geschrieben 23. April 2015 - 19:42

nimm Joe Rename das kann ohne Probleme eine Datei in Deinem Sinne umbenennen, selbst einen ganzen Stabel, sofern alle das gleich Datum haben.
0

#6 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 23. April 2015 - 21:26

Das geht auch in Batch, ist aber aufwendig. Du müßtest mit %VARIABLE:~Anfang,Länge% die ersten 8 Zeichen so isolieren, daß Du am Ende das Datum neu zusammenbauen kannst.

Damit wäre auch eine Reorganisation nach YYYY-MM-DD kein Problem mehr.

Funktioniert aber wirklich nur, wenn wirklich *alle* Dateien nach dem von Dir angegebenen Schema bezeichnet sind.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#7 Mitglied ist offline   dnr 

  • Gruppe: aktive Mitglieder
  • Beiträge: 949
  • Beigetreten: 06. Januar 10
  • Reputation: 89
  • Geschlecht:Männlich

geschrieben 24. April 2015 - 09:18

Beitrag anzeigenZitat (Sturmovik: 23. April 2015 - 19:19)

Hm, in Bash würd ich dir das in 5 Minuten scripten (is eigentlich nur ein Einzeiler), aber in der Windowswelt lass ich mal anderen den Vortritt, die mit cmd klarkommen :rolleyes:


Ich wäre durchaus gewillt, kurz nen Debian in der VM zu installieren ;) ^^
Wenn das in ner Bash wirklich so einfach geht, erscheinen mir alle anderen hier aufgelisteten Möglichkeiten doch recht zeitaufwendig^^

Beitrag anzeigenZitat (deafpublisher: 23. April 2015 - 19:42)

... sofern alle das gleich Datum haben.


denk da doch nochmal kurz drüber nach... ;)
0

#8 Mitglied ist offline   DON666 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.196
  • Beigetreten: 30. Oktober 03
  • Reputation: 500
  • Geschlecht:Männlich
  • Wohnort:Verden (Niedersachsen)
  • Interessen:PC, Xbox Series X

geschrieben 24. April 2015 - 09:44

Beitrag anzeigenZitat (dnr: 24. April 2015 - 09:18)

[...]
denk da doch nochmal kurz drüber nach... ;)

Menno, er meinte doch das Datumsformat... :rolleyes:
Motörhead
Queens Of The Stone Age
Fu Manchu
Napalm Death
Liar
Grim Tales... ^^
SysProfile
"Is my cock big enough,
is my brain small enough
for you to make me a star?"
(Jello Biafra "Pull My Strings")
0

#9 Mitglied ist offline   Future010 

  • Gruppe: aktive Mitglieder
  • Beiträge: 704
  • Beigetreten: 02. Januar 14
  • Reputation: 69
  • Geschlecht:Männlich

geschrieben 24. April 2015 - 10:39

Das dürfte nicht schwierig sein. Das Datumsformat in den Bilder ist aktuell:

09102010 heißt --> 09-02-2010 Jetzt müssen wir jede Datei als Array einlesen und für jede 2 Stelle ein Bindestrich ergänzen, solange bis zwei Bindestriche gesetzt worden sind...

So wie ich das jetzt beschrieben habe, kann das einfach runter programmiert werden.
// Ich gucke mal, vielleicht habe ich ein passendes Batch Script...
Ein(e) Danke(positive Bewertung) für einen guten Beitrag kann nicht schaden ;-) Danke!j Dateien und Ordner Verwaltung by Future010
0

#10 _d4rkn3ss4ev3r_

  • Gruppe: Gäste

geschrieben 24. April 2015 - 20:51

Bitte:

@echo off
cd /d "%~dp0"

for %%a in ("*.jpg") do set datei=%%a&call :loop
echo Fertig&pause&exit

:loop
ren %datei% %datei:~0,2%-%datei:~2,2%-%datei:~4%
set datei=

1

#11 Mitglied ist offline   dnr 

  • Gruppe: aktive Mitglieder
  • Beiträge: 949
  • Beigetreten: 06. Januar 10
  • Reputation: 89
  • Geschlecht:Männlich

geschrieben 27. April 2015 - 11:08

Beitrag anzeigenZitat (d4rkn3ss4ev3r: 24. April 2015 - 20:51)

Bitte:

@echo off
cd /d "%~dp0"

for %%a in ("*.jpg") do set datei=%%a&call :loop
echo Fertig&pause&exit

:loop
ren %datei% %datei:~0,2%-%datei:~2,2%-%datei:~4%
set datei=



top! danke!

könnte man das noch irgendwie so umbauen, dass er das Datum nun noch umdreht? Sprich aus z.B. "06-11-2008" nen "2008-11-06" wird?

Wobei, das sollte sicherlich nun mit TotalCommander etc. gehen

Danke nochmal!
0

#12 _d4rkn3ss4ev3r_

  • Gruppe: Gäste

geschrieben 30. April 2015 - 19:22

Geht natürlich auch. Der Code wäre dann - umgekehrt, dieser:

@echo off
cd /d "%~dp0"

for %%a in ("*.jpg") do set datei=%%a&call :loop
echo Fertig&pause&exit

:loop
ren %datei% %datei:~6%-%datei:~3,2%-%datei:~0,2%
set datei=

1

#13 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.111
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 01. Mai 2015 - 13:20

Also wenn das Datum immer 8-stellig ist, gefolgt von einem Unterstrich und einem beliebigen Text. Dann wäre es beim


FreeCommander mit der Mehrfach-Umbenennung so:

[n,5,4]-[n,3,2]-[n,1,2][n,9]

gegangen, was beim TotalCommander dann so:

[N5-4]-[N3-2]-[N1-2][N9-]

sein müßte. Beim TotalCommander hab ich das jetzt nur anhand der Beschreibung geändert und nicht probiert, weil ich den nicht habe. Da weiß ich jetzt nicht, ob man [N5-4] also ab dem 5. Zeichen 4 Stellen oder [N5-8] vom 5. bis zum 8. Zeichen angeben muß, dann wäre es:

[N5-8]-[N3-4]-[N1-2][N9-]

(bzw. je nachdem ob das erste Zeichen mit 1 oder 0 angegeben wird auch nochmal entsprechend verschoben)

Aber damit hätte das eigentlich auch funktionieren sollen - vorausgesetzt wie gesagt - das Datum ist immer 8-stellig.

Falls einer der entsprechenden Commander vorhanden ist, also nicht extra installiert werden muß, fände ich das mit der Batch etwas kompliziert für den Fall, dass man selbst sowas nicht schreiben kann und das dann im Wiederholungsfall extra wieder suchen müßte oder nochmal jemanden bitten es zu schreiben, wo die Commander das nahezu selbsterklärend ja können.


(Also technisch passiert natürlich im Prinzip das Gleiche, wie in der Batch)

Dieser Beitrag wurde von Holger_N bearbeitet: 01. Mai 2015 - 13:25

Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
1

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0