spidi-25
Goto Top

Umbenennen Dateinamen

Hallo Leute

gibt es eine Möglichkeit Per Batch folgende Dateinamen umbenennen?

Und zwar aus z.B. 9000_200_050_05 > die Zeichen 14,15 +1 = 9000_200_050_06

aus z.B. 5000_300_060_11 > die Zeichen 14,15 +1 = 5000_300_060_12


Danke schon mal für die Antwort
Kommentar vom Moderator Biber am Jun 28, 2010 um 16:25:21 Uhr
gibt es eine Möglichkeit Per Batch folgende Dateinamen umbenennen?
Okay, richtiger wäre "unbezunennen" (oder so ähnlich) ...
Aber was solls... Montags drücken wir mal ein Auge zu...
Meinen Cheffe würde ich montags sogar oft gern beide Augen....

Content-Key: 145767

Url: https://administrator.de/contentid/145767

Printed on: April 19, 2024 at 21:04 o'clock

Mitglied: 60730
60730 Jun 28, 2010 at 07:59:46 (UTC)
Goto Top
Zitat von @Spidi-25:
Hallo Leute

gibt es eine Möglichkeit Per Batch folgende Dateinamen umbenennen?

jupp

Und zwar aus z.B. 9000_200_050_05 > die Zeichen 14,15 +1 = 9000_200_050_06

  • bist du dir sicher, dass es den neuen Dateinamen nicht vorher schon gibt?
  • wie willst du mit der matrik erkennen, das bereits umbenannte Dateien nicht erneut umbenannt werden?

Gruß
Member: Spidi-25
Spidi-25 Jun 28, 2010 at 08:15:44 (UTC)
Goto Top
Ja ich bin mir sicher das es den neuen Namen nicht gibt,

Das ist ja meine frage ob es möglich ist?

ich habe z.B. Dateien im Ordner

9000_200_051_00 nach dem umbenennen >9000_200_051_01
9000_200_052_03 nach dem umbenennen >9000_200_052_04
9000_200_053_11 nach dem umbenennen >9000_200_053_12
9000_200_054_01 nach dem umbenennen >9000_200_054_02
9000_300_020_00 nach dem umbenennen >9000_300_020_01
9000_300_021_06 nach dem umbenennen >9000_300_021_07
Mitglied: 77559
77559 Jun 28, 2010 at 10:27:53 (UTC)
Goto Top
Moin moin Spidi-25,

wäre eine abstrakte Beschreibung der Art:
Ich möchte bei aus Ziffern und Unterstrichen bestehenden Dateien im Format "XXXX_XXX_XXX_XX" das letzte Ziffernpaar automatisch per Batchdatei um eins erhöhen.
denn so furchtbar schwer gewesen?

@Echo off
setlocal EnableDelayedExpansion
for %%F in (????_???_???_??.*
  ) do for /F "tokens=1-4 delims=_" %%A in ("%%~nF"  
    ) Do set /A "INC=1%%D+1"&If Not Exist "%%A_%%B_%%C_!INC:~-2!%%~xF" (  
        Echo Ren "%%F" "%%A_%%B_%%C_!INC:~-2!%%~xF"   
      ) Else (
        Echo Kann %%F nicht umbenennen.
      )
Diese Batchdatei verarbeitet alle Dateien im aktuellen Verzeichnis die dem Format entsprechen und zerlegt den Namen am Unterstrich in 4 Teile. Dem 4.Teil wird eine 1 vorangestellt (wegen der führenden Null welche sonst als Oktalzahl interpretiert wird) und in die Variable INC 1 addiert. Von der Variable werden dann nur die letzten 2 Stellen verwendet.
Der Ren Befehl wird nur angezeigt, zum Ausführen das Echo in Zeile 6 entfernen.

Gruß
LotPings
Edit Änderung für Erweiterung eingefügt,(ungetestet)
Member: Spidi-25
Spidi-25 Jun 28, 2010 at 13:00:35 (UTC)
Goto Top
Hallo danke für die Antwort aber irgend wie funktioniert es so nicht!
Mitglied: 77559
77559 Jun 28, 2010 at 13:09:40 (UTC)
Goto Top
Nunja, hier hat es funktioniert, du muss also etwas anders/falsch machen.

Bei deinem "qualifizierten" face-wink Feedback dauert es natürlich länger den Fehler einzugrenzen.

Gruß
LotPings
Member: Spidi-25
Spidi-25 Jun 28, 2010 at 13:20:52 (UTC)
Goto Top
Ich habe eine CMD erstellt mit folgendem inhalt:


@Echo off 
setlocal EnableDelayedExpansion 
for %%F in (????_???_???_?? 
  ) do for /F "tokens=1-4 delims=_" %%A in ("%%F"   
    ) Do set /A "INC=1%%D+1"&If Not Exist "%%A_%%B_%%C_!INC:~-2!" (   
        Ren "%%F" "%%A_%%B_%%C_!INC:~-2!"    
      ) Else ( 
        Echo Kann %%F nicht umbenennen. 
      )
Mitglied: 77559
77559 Jun 28, 2010 at 13:35:46 (UTC)
Goto Top
Schön, brav kopiert - scheinbar ohne Fehler.

Aber wenn du jetzt meinst das wäre ein "qualifiziertes Feedback, muss ich dich enttäuschen.

Genau diese Datei (mit dem Echo ) erzeugt mir hier diese Ausgabe welche wohl exakt deinen Vorgaben entspricht.
15:31:47 D:\Test\2010-06\28____________________
>dir
 Datenträger in Laufwerk D: ist Daten

 Verzeichnis von D:\Test\2010-06\28

2010-06-28  15:31    <DIR>          .
2010-06-28  15:31    <DIR>          ..
2010-06-28  12:05                 2 9000_200_051_00
2010-06-28  12:05                 2 9000_200_052_03
2010-06-28  12:05                 2 9000_200_053_11
2010-06-28  12:05                 2 9000_200_054_01
2010-06-28  12:05                 2 9000_300_020_00
2010-06-28  12:05                 2 9000_300_021_06
2010-06-28  15:30               306 Increment.cmd
2010-06-28  15:30               313 Increment2.cmd
               8 Datei(en),            631 Bytes
               2 Verzeichnis(se), 229.562.810.368 Bytes frei

15:31:49 D:\Test\2010-06\28____________________
>Increment.cmd
Ren "9000_200_051_00" "9000_200_051_01"
Ren "9000_200_052_03" "9000_200_052_04"
Ren "9000_200_053_11" "9000_200_053_12"
Ren "9000_200_054_01" "9000_200_054_02"
Ren "9000_300_020_00" "9000_300_020_01"
Ren "9000_300_021_06" "9000_300_021_07"

15:31:55 D:\Test\2010-06\28____________________
>Increment2.cmd
Ren "9000_200_051_00" "9000_200_051_01"
Ren "9000_200_052_03" "9000_200_052_04"
Ren "9000_200_053_11" "9000_200_053_12"
Ren "9000_200_054_01" "9000_200_054_02"
Ren "9000_300_020_00" "9000_300_020_01"
Ren "9000_300_021_06" "9000_300_021_07"

15:32:18 D:\Test\2010-06\28____________________
>

Gruß
LotPings

PS: Du erinnerst dich, das es länger dauert....
Mitglied: 86263
86263 Jun 28, 2010 at 17:22:43 (UTC)
Goto Top
[OT]
Es ist Montag und umbenennen ist richtig geschrieben ... respekt Spidi-25.
rgc += 0;
[/OT]

Grüße
DGzRSBorkum
Member: Spidi-25
Spidi-25 Jun 29, 2010 at 19:01:04 (UTC)
Goto Top
Habe es noch einmal probiert und wen es z.B. pdf Dateien oder bak sind geht es nicht, nur wen ich die Dateiendung entferne lauft es.
Member: Biber
Biber Jun 29, 2010 at 19:14:38 (UTC)
Goto Top
Moin Spidi-25,

Zitat von @Spidi-25:
Habe es noch einmal probiert und wen es z.B. pdf Dateien oder bak sind geht es nicht, nur wen ich die Dateiendung entferne lauft es.

Ich will mal so sagen...
Wenn du in deinem Brauser auswählst "Suchen (auf aktueller Seite)" und dort eintippst "Dateiendung"....
--> Dann landest du genau anderthalb Zentimeter über diesem Kommentar für die erste Fundstelle.
Klingelt da irgendwas bei dir?

Und damit du nicht denkst, ich würde immer nur dich zitieren, zitier ich mal das Lordchen:
Genau diese Datei (mit dem Echo ) erzeugt mir hier diese Ausgabe welche wohl exakt deinen Vorgaben entspricht.

Wir Biber nennen eine derartige Projektabwicklung "Works as designed". Oder meinetwegen auch "...as desired..".
Ist bestimmt vom gleichen Vollpfosten Stamm.

Kopfschüttelnd
Biber
Mitglied: 77559
77559 Jun 29, 2010 at 19:28:03 (UTC)
Goto Top
Zitat von @Spidi-25:
Habe es noch einmal probiert und wen es z.B. pdf Dateien oder bak sind geht es nicht,
nur wen ich die Dateiendung entferne lauft es.
Wie Biber schon treffend festgestellt hat, führst du durch die Hintertür neue Anforderungen ein, von einer zu berücksichtigenden Erweiterung war bisher nie die Rede.
Meine Kristallkugel war wohl beschlagen das ich da nicht von alleine drauf gekommen bin .....

Nichtsdestotrotz baue ich die wenigen notwendigen Änderungen schnell oben ein - aber diesmal ohne Erläuterung, die Pause ist gleich vorbei face-wink

Gruß
LotPings
Member: Spidi-25
Spidi-25 Jun 29, 2010 at 20:09:46 (UTC)
Goto Top
Was für für eine Datei hast du den probiert? Egal ob PDF, JPG, GIF, MPEG, AVI oder CMD jede Datei hat ja irgend eine Dateiendung, in meinem Fall z.B. 9000_300_021_06.pdf
Member: Spidi-25
Spidi-25 Jun 29, 2010 at 20:13:15 (UTC)
Goto Top
Danke für die Änderung, aber jetzt wird die Dateiendung gelöscht ist so auch nicht gut!
Mitglied: 60730
60730 Jun 29, 2010 at 20:14:35 (UTC)
Goto Top
Zitat von @Spidi-25:
Was für für eine Datei hast du den probiert? Egal ob PDF, JPG, GIF, MPEG, AVI oder CMD jede Datei hat ja irgend eine
Dateiendung, in meinem Fall z.B. 9000_300_021_06.pdf

Wer lesen kann ist im Vorteil - und eine Datei ohne einen einzigen Punkt - as designed - hat alles, aber eine Suffix sicherlich nicht.

Zitat von @77559:
Genau diese Datei (mit dem Echo ) erzeugt mir hier diese Ausgabe welche wohl exakt deinen Vorgaben entspricht.
> 15:31:47 D:\Test\2010-06\28____________________
> >dir
>  Datenträger in Laufwerk D: ist Daten
> 
>  Verzeichnis von D:\Test\2010-06\28
> 
> 2010-06-28  15:31    <DIR>          .
> 2010-06-28  15:31    <DIR>          ..
> 2010-06-28  12:05                 2 9000_200_051_00
> 2010-06-28  12:05                 2 9000_200_052_03
> 

Gruß
LotPings

PS: Du erinnerst dich, das es länger dauert....

Ich glaub bis die münze gefallen ist, heissen die centstücke schon wieder anders ;-(
Mitglied: 60730
60730 Jun 29, 2010 at 20:19:06 (UTC)
Goto Top
Zitat von @Spidi-25:
Danke für die Änderung, aber jetzt wird die Dateiendung gelöscht ist so auch nicht gut!

Dann nimm halt um gates willen:

06. Echo Ren "%%F" "%%A_%%B_%%C_!INC:~-2!%%~xF.pdf"

wenns immer pähdeeffe sind...
Mitglied: 77559
77559 Jun 29, 2010 at 20:34:15 (UTC)
Goto Top
Zitat von @Spidi-25:
Danke für die Änderung, aber jetzt wird die Dateiendung gelöscht ist so auch nicht gut!
Sorry, aber ich kann nicht nachvollziehen was du da machst.

Die Batch, so wie sie da oben steht, erzeugt mir hier diese Ausgabe:
>dir
 Datenträger in Laufwerk D: ist Daten

 Verzeichnis von D:\Test\2010-06\28

2010-06-29  22:21    <DIR>          .
2010-06-29  22:21    <DIR>          ..
2010-06-28  12:05                 2 9000_200_051_01.pdf
2010-06-28  12:05                 2 9000_200_052_04.zip
2010-06-28  12:05                 2 9000_200_053_12.doc
2010-06-28  12:05                 2 9000_200_054_02.xls
2010-06-28  12:05                 2 9000_300_020_01.txt
2010-06-28  12:05                 2 9000_300_021_07.jpg
2010-06-28  15:30               306 Increment.cmd
2010-06-28  15:38               308 Increment2.cmd
               8 Datei(en),            626 Bytes
               2 Verzeichnis(se), 229.562.777.600 Bytes frei

22:25:41 +D:\Test\2010-06\28____________________
>Increment.cmd
Ren "9000_200_051_01.pdf" "9000_200_051_02.pdf"
Ren "9000_200_052_04.zip" "9000_200_052_05.zip"
Ren "9000_200_053_12.doc" "9000_200_053_13.doc"
Ren "9000_200_054_02.xls" "9000_200_054_03.xls"
Ren "9000_300_020_01.txt" "9000_300_020_02.txt"
Ren "9000_300_021_07.jpg" "9000_300_021_08.jpg"

BTW Timos Vorschlag wäre nicht so gut da:
Echo Ren "%%F" "%%A_%%B_%%C_!INC:~-2!%%~xF.pdf"
Eine doppelte Erweiterung produzieren würde.

Gruß
LotPings
Member: Spidi-25
Spidi-25 Jun 29, 2010 at 20:36:56 (UTC)
Goto Top
Super habe es noch ein mal kopiert jetzt läuft es vielen Dank!!!
Mitglied: 77559
77559 Jun 29, 2010 at 20:44:28 (UTC)
Goto Top
Zitat von @Spidi-25:
Was für für eine Datei hast du den probiert? Egal ob PDF, JPG, GIF, MPEG, AVI oder CMD
jede Datei hat ja irgend eine Dateiendung, in meinem Fall z.B. 9000_300_021_06.pdf
Die Dateien haben die Erweiterung die ihnen gegeben wird,
du kannst durchaus auch eine PDF-Datei ohne Erweiterung benutzen nur das OS weiß dann nicht welche Anwendung zugeordnet ist.

Und wenn du jetzt darauf bestehst, keinen Fehler mit deinen unvollständigen Angaben gemacht zu haben, haben wir oder eher du ein Problem.

Gruß
LotPings
Member: Spidi-25
Spidi-25 Jun 30, 2010 at 05:04:54 (UTC)
Goto Top
Hallo LotPings ich gebe es ja zu s...... formuliert, nächstes mal probiere ich es kürzer und deutlicher.