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 28.06.2010 um 18: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-ID: 145767

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

Ausgedruckt am: 26.11.2024 um 11:11 Uhr

60730
60730 28.06.2010 um 09:59:46 Uhr
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ß
Spidi-25
Spidi-25 28.06.2010 um 10:15:44 Uhr
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
77559
77559 28.06.2010 um 12:27:53 Uhr
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)
Spidi-25
Spidi-25 28.06.2010 um 15:00:35 Uhr
Goto Top
Hallo danke für die Antwort aber irgend wie funktioniert es so nicht!
77559
77559 28.06.2010 um 15:09:40 Uhr
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
Spidi-25
Spidi-25 28.06.2010 um 15:20:52 Uhr
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. 
      )
77559
77559 28.06.2010 um 15:35:46 Uhr
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....
86263
86263 28.06.2010 um 19:22:43 Uhr
Goto Top
[OT]
Es ist Montag und umbenennen ist richtig geschrieben ... respekt Spidi-25.
rgc += 0;
[/OT]

Grüße
DGzRSBorkum
Spidi-25
Spidi-25 29.06.2010 um 21:01:04 Uhr
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.
Biber
Biber 29.06.2010 um 21:14:38 Uhr
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
77559
77559 29.06.2010 um 21:28:03 Uhr
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
Spidi-25
Spidi-25 29.06.2010 um 22:09:46 Uhr
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
Spidi-25
Spidi-25 29.06.2010 um 22:13:15 Uhr
Goto Top
Danke für die Änderung, aber jetzt wird die Dateiendung gelöscht ist so auch nicht gut!
60730
60730 29.06.2010 um 22:14:35 Uhr
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 ;-(
60730
60730 29.06.2010 um 22:19:06 Uhr
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...
77559
77559 29.06.2010 um 22:34:15 Uhr
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
Spidi-25
Spidi-25 29.06.2010 um 22:36:56 Uhr
Goto Top
Super habe es noch ein mal kopiert jetzt läuft es vielen Dank!!!
77559
77559 29.06.2010 um 22:44:28 Uhr
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
Spidi-25
Spidi-25 30.06.2010 um 07:04:54 Uhr
Goto Top
Hallo LotPings ich gebe es ja zu s...... formuliert, nächstes mal probiere ich es kürzer und deutlicher.