Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

mehrere dateien umbenennen mit name und nummer

Frage Entwicklung Batch & Shell

(Level 1)

27.11.2006, aktualisiert 09.03.2007, 18628 Aufrufe, 11 Kommentare

Hallo

Ich habe 359 unterschiedliche dateien ( Bilder ) die möchte ich alle mit einem namen
und fortlaufend umbenennen.

So wie das der TotalCommander macht - das möchte ich aber mit einer Bat-Datei


haus.jpg urlaub2007-001
auto.jpg urlaub2007-002
frau.jpg urlaub2007-003
xxx1.jpg urlaub2007-004
xx7.jpg urlaub2007-005
usw
Mitglied: y3k
27.11.2006 um 18:26 Uhr
Hi,

also ohne jetzt viel Gehirnschmalz in eine batch zu stecken: Irfanview oder Xnview können das sehr elegant!

Viele Grüße
Bitte warten ..
Mitglied: gemini
27.11.2006 um 18:49 Uhr
Hallo hugo,

das geht auch mit XP-Boardmitteln.

Markiere alle Dateien, die du umbenennen willst > Rechtsklick 'Umbenennen' > Bei einer Datei das Präfix und die Dateiendung angeben > Enter > Sicherheitsabfrage bestätigen
Voilà

Manko: Die Nummerierung erfolgt in Klammern, also urlaub2007 (1).jpg etc.

Alternative: Ein Script oder ein Tool, bspw. RenameFiles

HTH,
gemini
Bitte warten ..
Mitglied: Biber
27.11.2006 um 19:03 Uhr
Da würde ich auch keinen Schmalz reinstecken.

An den CMD-Prompt, in das richtige Verzeichnis und..
01.
>@set /a x=1000 && for %i in (*.txt) do @Set /a "x+=1">nul & <b>@ECHO</b> rename %i Urlaub2007-!x:~-3!%~xi 
02.
<i>rename echocolon.txt Urlaub2007-001.txt 
03.
rename testjoe.txt Urlaub2007-002.txt 
04.
rename lgo.txt Urlaub2007-003.txt 
05.
rename testhidden.txt Urlaub2007-004.txt 
06.
rename default.txt Urlaub2007-005.txt</i> 
07.
...
[Das Kursive ist die Ausgabe...der "Code" nur die erste Zeile]

Okay, ich habe jetzt *.txt genommen, weil ich noch gar keine Urlaubs-.jpg's aus 2007 habe...
Und das @ECHO muss natürlich raus.

Als Batch je ein "%"-Zeichen mehr vor %i und %x.
Und in die erste Zeile "@echo off & setlocal EnableDelayedExpansion".

[Das ist bei mir IMMER geschaltet, deshalb geht es bei mir am Prompt.]

HTH Biber
[Edit] @gemini
Manko: Die Nummerierung erfolgt in Klammern, also urlaub2007 (1).jpg etc
Das könnte ich per Batch reparieren....
[/Edit]
Bitte warten ..
Mitglied: erkan
27.11.2006 um 20:01 Uhr
Ein sehr schönes und umfangreiches Tool, das zudem kostenlos ist ("Mailware"):

http://www.1-4a.com/rename/

sehr zu empfeheln

Gruß
Bitte warten ..
Mitglied: luximwalde
08.03.2007 um 18:31 Uhr
Hallo biber,
ich möchte gern Deinen Code aus o.g. Beitrag zu folgendem Zweck einsetzen: mehrere .jpg-Dateien mit x-beliebigem Dateinamen sollen in das Format bild-001.jpg bild-002.jpg usw. umbenannt werden und zwar in der Reihenfolge wie sie zuvor alphabetisch fortlaufend geordnet waren. Ich habe wie folgt Dein Code als Batch-Datei verwendet:
01.
@echo off & setlocal EnableDelayedExpansion 
02.
@set /a x=1000 && for %%i in (*.jpg) do @Set /a "x+=1">nul & rename %%i bild-!x:~-3!%%~xi
Allerdings passiert nun folgendes Problem. Die Dateien werden beim erstmaligen Ausführen in die Nummerierung beginnend mit bild-002.jpg bild-003.jpg usw. umbenannt. -001 wird nicht berücksichtigt. Und die erste Datei ist nicht die erste wie zuvor alphabetisch geordnet, sondern die Letzte. Führe ich die Datei abermals aus, wird die Nummerierung korrekt ausgeführt. Die zuvor letzte Datei ist nun an vorletzter Stelle, und die eben Erste an letzter, wie bei erstem Ausführen.

Es wäre sehr nett, wenn Du mir einen Lösungsvorschlag posten könntest. Ich habe bereits das Forum durchforstet, allerdings keine Antwort darauf gefunden.

besten Dank und schöne Grüße
Lutz /der luximwalde
Bitte warten ..
Mitglied: Biber
08.03.2007 um 22:19 Uhr
Moin luximwalde,

willkommen im Forum.

Hmmmmmmmm.
Ich habe es eben auch nochmal so nachgestellt, wie ich es damals gepostet hatte...
...works as designed.. (bei mir).

Aber ich verwette meine Sammlung der schönsten M$-Fehlermeldungen, dass das genau die Antwort ist, die Du bestimmt nicht hören wolltest...

Also - dass der CMD-Interpreter mal aus Versehen mit dem Hoch-Zählen bei 1002 statt bei 1001 anfängt, können wir selbst bei Bill's PraktikantInnen ausschliessen...

Also kann es eigentlich nur so sein, dass das Umbenennen selbst in die Grütze geht.
Das wiederum kann vier (oder mehr) Gründe haben:
- die Datei wird nicht gefunden, weil sie "Leerzeichen im Namen.jpg" heißt
- die Datei wird nicht gefunden, weil sie Umlaute im Namen hat und CHCP falsch eingestellt ist.
- die Datei wird nicht umbenannt, weil die Rechte fehlen
- die Datei wird nicht umbenannt weil eine gleichnamige Datei schon existiert

Variante 1 und 4 sind die wahrscheinlichsten.
Bitte ändere mal (zum Testen) auf:
01.
@set /a x=1000>nul && for %%i in (*.jpg) do @Set /a "x+=1">nul & @echo rename "%%i" bild-!x:~-3!%%~xi
..und poste mal die ersten Ausgabezeilen.

Gruss
Biber
Bitte warten ..
Mitglied: luximwalde
08.03.2007 um 23:07 Uhr
Hi biber,

vielen Dank für die schnelle Mühe. Sehr nett. Also nach Ausführen des Batch (Deine Testversion) wird im DOS-fenster folgendes angezeigt:
01.
rename "abcde.jpg"  bild-1.jpg 
02.
rename "bcdef.jpg"  bild-2.jpg 
03.
rename "cdefg.jpg"  bild-3.jpg 
04.
rename "defgh.jpg"  bild-4.jpg
Das ist augenscheinlich genau das gewünschte Ergebnis. Allerdings wird jetzt real nicht umbenannt. Liegt das an dem @echo vor rename?

beste Grüße
Lutz
Bitte warten ..
Mitglied: Biber
09.03.2007 um 07:33 Uhr
Moin Lutz,

jepp, dass real nicht umbenannt wird, liegt an dem "echo"... sollte ja nur ein Test sein.

Also dann - Phase II:
wenn es denn bei der ersten Dateien Datei passiert, dann schränken wir es doch mal auf diese ein.
01.
::----testbatchII.bat 
02.
@echo off & setlocal enableDelayedExpansion 
03.
set /a x=1000>nul && for %%i in (abcde.jpg) do Set /a "x+=1">nul & rename "%%i" bild-!x:~-3!%%~xi
[Ich weiß, ist lästig, aber anders kommen wir nicht ran an den Fehler]

- Mit Glück kommt jetzt beim Rename ein Fehler auf den Bildschirm.

Gruss
Biber
Bitte warten ..
Mitglied: luximwalde
09.03.2007 um 14:08 Uhr
Hallo Biber,
das ist in der Tat ganz seltsam. Jetzt sind wir aber einen Schritt weiter und die Erkenntnis ist folgende: die einzelne Bilddatei abcde.jpg oder bcdef.jpg oder... wird jeweils mit bild-1.jpg korrekt umbenannt. Sind aber mehrere Bilder mit dieser Namensgebeung im ordner umzubenennen, fängt es mit -2.jpg an. Ist doch seltsam. Es muss daher an der Namenskombination liegen, da in den Namen mehrere Buchstaben gleich in den anderen Namen vorkommen. Das Batch ist da scheinbar "wählerisch". Zumal es geht auch mit einer Datei nicht: Ich habe einen Namen herausgefunden, der auch als einzelne Datei sofort mit bild-2.jpg umbenannt wird: aftermidnight.jpg. Klingt fast geheimnisvoll und ist zum schmunzeln. Kannst es ja bei Dir mal testen. Was hat dieses Wort, was andere nicht haben.
Oder leidet mein Rechner oder Namensdepressionen...

Ergänzung: z.B. werden auch abc-01.jpg abc-02.jpg abc-03.jpg beginnend bei bild-2.jpg umbenannt, hingegen pic-01.jpg pic-02.jpg pic-03.jpg wird korrekt ab bild-1.jpg umbenannt. Wo kann da der Unterschied fürs batchen liegen? Wenn wir das wissen, ist es gelöst.


schöne Grüße
Lutz
Bitte warten ..
Mitglied: Biber
09.03.2007 um 14:34 Uhr
Moin Lutz,

lässt sich (wie zu erwarten war) nicht bei mir reproduzieren.

01.
>@set /a x=1000>nul && for %i in (a*.jpg) do @Set /a "x+=1">nul & @echo rename "%~dpnxi" bild-!x:~-3!%~xi 
02.
rename "D:\temp\aftermidnight zwei.jpg" bild-001.jpg 
03.
rename "D:\temp\aftermidnight.jpg" bild-002.jpg 
04.
rename "D:\temp\aftermidnight.jpgx" bild-003.jpgx 
05.
(=14:22:58  D:\temp=) 
06.
>@set /a x=1000>nul && for %i in (a*.jpg) do @Set /a "x+=1">nul & @rename "%i" bild-!x:~-3!%~xi 
07.
 
08.
(=14:23:05  D:\temp=) 
09.
>dir b*.jpg |find ".jpg" 
10.
09.03.2007  14:19                 4 bild-001.jpg 
11.
09.03.2007  14:18                 4 bild-002.jpg 
12.
09.03.2007  14:20                 4 bild-003.jpgx 
13.
 
14.
(=14:23:09  D:\temp=) 
15.
>
Ratlos guck
Vielleicht hat noch jemand eine Idee... sonst musst Du den Rechner wohl einschicken....

Gruss
Biber
Bitte warten ..
Mitglied: luximwalde
09.03.2007 um 15:54 Uhr
Hi Biber,

danke für Deine Geduld mit diesem "Phänomen". Mich kratzt das auch schon. Im DOS-Fenster bei der Testversion (mit echo vor rename) wird das in ALLEN Fällen immer korrekt angezeigt. Wie beschrieben jedoch beim realen Umbenennen beginnt die Bilderfolge in den speziellen Fällen mit -2.jpg. Das Umbennen auf Batch-Ebene ist wohl bis zum dem Punkt wo die Dateien umbenannt werden sollen korrekt. Ratlosigkeit, ja. Ich teste das mal auf einem anderen Rechner.

beste Grüße
Lutz
Bitte warten ..
Ähnliche Inhalte
Windows 7
Dateien umbenennen Unterschiede in Win7 und XP (3)

Frage von mani55 zum Thema Windows 7 ...

Linux Tools
CURL mehrere Dateien vom ftp-Server herunterladen (10)

Frage von highpriest zum Thema Linux Tools ...

Batch & Shell
gelöst Batch Datei: PDF Dateien verschieben, umbenennen und löschen (4)

Frage von F0rcehunter zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

Frage von Hajo2006 zum Thema LAN, WAN, Wireless ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (14)

Frage von marshall75000 zum Thema Router & Routing ...

Microsoft Office
Saubere HTML aus Word-Dokument (14)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...