Forum
Tipps
News
Menu-Icon

Dateien im Batch umbennen so dass aus erweiterung der Dateiname wird

Ich habe folgendes Problem.
Ich bekomme vom IBM-Rechner eine gepackte Datei mit ca. 200 Dateien (FLAM-Komprienert)
Nach dem Auspacken habe die Dateien mit etwa folgenden Namen:
P5076WDS.EN008.TA01
P5076WDS.EN008.TA05
P5076WDS.EN008.TC03
...

Bis hier hin klappt auch alles.
Nun will ich diese Dateien für das nächste Programm umbennen in
TA01
TA05
TC03
...

Also soll aus der Dateierweiterung der Dateiname werden.
Nach einiger Suche habe ich ja die Erweiterungsfunktionen gefunden.
Dabei steht
%~n für Dateinane und
%~x für Dateierweiterung
mit
for %%d in (P5076WDS.EN008.T*) do rename %%d %%~xd

wird aber aus "P5076WDS.EN008.TA01" leider ein ".TA01"
scheinbar gehört der Punkt fest zur Erweiterung.

Weis einer eine Lösung, oder muss ich was eigenes (in C) programmieren?

Gruß Holger



Antworten zu Dateien im Batch umbennen so dass aus erweiterung der Dateiname wird:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Es gibt viele Rename-Programme:

Flash Renamer
BatchRename
Tag and Rename
RenameFromList
Better File Rename
PS FileRenamer
ReNamer 3.0
Lalim File Rename
Power Renamer 3.2

Die sollten keine Wünsche mehr offenlassen.
Aber ich glaube, Du stehst schon in den Startlöchern, Dein C anzuwerfen  ;)

Sorry ich meinte, gibt es DOS (Windows) Boardmittel für das Problem?
Wir wollen ein vollautomatische Batch-Lösung machen, deswegen fallen reine GUI-Tool schon mal weg.

Ich hatte was gesehen von Substrings
 if /I "%PrName:~0,5%"=="CHBAP" call :CHBAPStuff %1
nimmt ja aus der Variablen PrName die ersten 5 Zeichen.

Ich habe es nur noch nicht geschafft diese Substr mit dem %%~xd zu verknüpfen.

Ich werde parallel mal einige der geannten "rename-tools" ansehen.
Danke

Gruß Holger



"Batch-Kurs für MS-DOS bis V7"

Hach, schön war die Zeit!
I miss my DOS!  :)

Schade,
da haben einige wohl nicht ganz verstanden was ich will.

Mit dem DOS-Kurs ( http://www.antonis.de/dos/batchtut/bat-kurs/index.htm#12 ) jedenfalls ist das nicht zu lösen.

Versucht doch mal selber in einem Verzeichnis alle "Dateiname.Erweiterung" in "Erweiterung.Dateiname" umzubennnen.
Und das als Batch-Lösung, also nicht mit intaraktiven Mitteln.

--
Gruß Holger
PS: ich schreibe mir jetzt ein keines C-Konsolenprogramm.

So diese kleine C-Programm nennt mir eine "Datei.Ext" int "Ext" um.

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char* argv[])
{
   char * p;
   char cmd[200]="rename ";
   if (argc!=2)
   {
      printf("\nProgramm nennt 'Datei.Extension' in 'Extension' um.");
      printf("\nSyntax: %s dateiname.extension \n",argv[0]);
      exit(1);
   }
   p=strrchr(argv[1],'.');
   strcat(cmd, argv[1]);
   strcat(cmd, " ");
   strcat(cmd, p+1);
   
   return system(cmd);
}

Gruß Holger


« Formatieren der FestplatteWin XP: HDDs unter XP sperren für Kopieren/Beschreiben »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Grundstrich
Der Begriff des Grundstrichs im Bereich der Typografie, bezeichnet den senkrechten Strich der Buchstaben. Bei Schriftarten mit variabler Strichstärke, wie zum Beispi...

Haarstrich
Der Begriff Haarstrich stammt aus dem Bereich der Typographie. Bei Schriften, wie zum Beispiel der Antiquaschrift mit unterschiedlichen Strichstärken, wird zwischen ...

Auslagerungsdatei
Die Auslagerungsdatei, auch bekannt als virtueller Speicher, ist ein wichtiges Element im Windows-Betriebssystem. Sie dient als Erweiterung des physischen Arbeitsspeicher...