Dateien mit Batch-Befehle umbennen

Status
Für weitere Antworten geschlossen.
A

andre96

Gast
Hallo,

ich möchte gerne alle Datein in einem Ordner umbennen.
In dem Ordner sind *.txt, *.doc, *.xls, *.bmp Dateien.
Alle Dateien haben einen unterschiedlichen Namen.

Ich möchte gerne das alle Dateinamen auf das heutige Datum geändert werden.
Das habe ich bereits:

Code:
@echo off
set mydate=%date:~-4%%date:~-7,2%%date:~-10,2%
move *.* %mydate%.*

Leider funktioniert das nicht.
Ich möchte das alle Dateien (egal welcher Dateityp) zu 20130822.* umbenannt werden.
Für * soll die Dateiendung erhalten bleiben.

Ich hoffe mir kann geholfen werden.

Vielen Dank.
 
Hi,

dir ist klar dass du ein Problem kriegst, wenn du zwei Dateien hast, die den gleichen Dateinamen haben oder? Also z.B. zwei Dateien, die "20130822.txt" heißen kann es in einem Ordner nicht geben - bist du dir dessen bewusst?

Schau dir einfach einmal die Fehlermeldung an die du kriegst. "Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch". Jetzt lässt du dir ausgeben, was du da schreiben wolltest. Und überlegst dir einfach, was genau dein Befehl eigentlich macht. Versuch den Befehl mal von Hand so einzugeben und schau was da passiert. Da kommst du bestimmt drauf.

VG,
Mad
 
Ja, das ist mir klar.
Allerdings befinden sich in dem Ordner von jedem Dateityp (*.txt, *.doc, *.xls, *.bmp) jeweils nur eine Datei!

Das sollte eigentlich kein Problem sein...

Sollte ich besser den Befehl "ren" verwenden?
 
Hi,

schau dir mal den Befehl an der da generiert wird!

move *.* 20130822.*

Was soll Windows damit machen? ;)

VG,
Mad
 
@ygbr: Danke, hab ich gerade auch festgetsellt das dass funktioniert. :)

@Madman1209: Probier zum Beispiel das mal, da funktioniert es auch mit "move"!

Code:
set mydate=%date:~-4%%date:~-7,2%%date:~-10,2%
move *.doc %mydate%.doc
 
Du kannst alle Dateien mit jeder beliebigen Endung auf einmal ändern:

ren *.* %date:~-4%%date:~-7,2%%date:~-10,2%.*


Funktioniert natürlich nur, wenn am angegebenen Datum nur eine Datei pro Dateityp besteht. Aber das ist ja gegeben sagst du.
 
Hi,

ja, genau darauf wollte ich ja hinaus! Die Zeile, die du drin hast kann nicht funktionieren! Wenn du eine Dateiendung mit angibst dann schon! Aber nicht, wenn beides als ".*" deklariert wird.

Sauber finde ich es auch mit "rename" oder "ren" nicht. Erstens ändert er so sicher auch den Dateinamen der Batch, wenn sie im gleichen Ordner liegt (wovon ich ausgehe, da du keinen Pfad in der Batch mit angibst) und zweitens ist es trotz allem nicht gut, einfach anzunehmen, dass die Datei nur einmal drin vorkommt. Da sollte man nicht so "fahrlässig" sein.

Aber gut, mach wie du meinst.

VG,
Mad
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben