zero90
Goto Top

Umbenennen von Ordnernamen (anhand von Zeitstempel)

Hallo,
Es ist mal wieder so weit. Ich brauch wieder mal eure Hilfe.
Momentan versuche ich eine Batch zu schreiben, welche Dateien von einem Server auf einen Rechner kopiert. Dabei handelt es sich um das Kopieren von Datensicherungen.

Leider habe ich ein Problem, welches mein Wissen übersteigt. Beim Kopieren muss ich ja einen Pfad angeben. Der Ordner, in dem sich die benötigten Dateien befinden hat immer einen zufälligen namen, was es mit unmöglich macht den inhalt zu kopieren. Der ordnername ist immer zufälli befindet sich aber immer am gleichen ort. Darin befinden sich 8 backups, von denen ich immer das mit dem beusten zeitstempel kopieren will.


xcopy "c:\user\....\f67EA397\


In diesem ordner f67EA... Befinden sich die 8 ordner welche auch einenzufälligen ordnernamen haben.
Ich würde gerne den Ordner in dem sich alles befindet umbenennen in Backup und die 8 ordner die sich darin befinden in backup 1 bis 8 benennen.
Vielen dank im voraus
Gruß

Content-Key: 271727

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

Printed on: April 25, 2024 at 20:04 o'clock

Member: Roadrunner0815
Roadrunner0815 May 11, 2015 updated at 11:14:16 (UTC)
Goto Top
Da würde ich dir den Befehl "forfiles" empfehlen.
Bsp.:
Forfiles -pC:\user\...\ -S -M*.* -D-30 -c"CMD /C xcopy c:\Zierlordner"

Dieser Einzeiler würde dir alle Dateien die sich unter C:\user\... befinden, auch in Unterordner (Parameter S), den Dateinamen bzw Endung *.* haben und älter als 30 Tage sind, nach C:\Zielordner kopieren.
Statt den 30 Tagen kannst du da auch ein festes Datum oder einen anderen Zeitraum festlegen. Für genauere Infos einfach googlen.

Der Thread Batchdatei zum Umbenennen von Ordnern mit zufälligem Namen war doch auch von dir oder?
Member: Zero90
Zero90 May 11, 2015 at 12:27:16 (UTC)
Goto Top
Jep jedoch hatte ich probleme...
Das umbenennen hat nur funktioniert wenn die batchdatei auf der selben ebene lag und ausgeführt wurde.. Also im selben ordner
Member: Roadrunner0815
Roadrunner0815 May 11, 2015 at 13:20:52 (UTC)
Goto Top
Das liegt an deinem Arbeitspfad. Den musst du im Vorfeld anpassen. Den Befehl dafür hab ich aber leider gerade nicht parat.

Die obige Variante hat dieses Problem nicht. Ich habe neulich erst eine Batchdatei mit diesem u.a. Befehlen erstellt. Die Datei liegt bei mir auf C und ich bearbeite damit Ordner und Files auf dem Laufwerk J. Klappt prima!
Member: Endoro
Endoro May 11, 2015 at 14:14:02 (UTC)
Goto Top
Hey,

Zitat von @Zero90:

Der ordnername ist immer zufälli befindet sich aber immer am gleichen ort. Darin befinden sich 8 backups, von denen
ich immer das mit dem beusten zeitstempel kopieren will.
Befinden sich noch andere Ordner "am gleichen Ort"?

Gruss, Endoro
Mitglied: 114757
Solution 114757 May 11, 2015, updated at May 13, 2015 at 23:47:51 (UTC)
Goto Top
Moin,
mit Powershell ginge das Umbenennen so, mal angenommen dein ominöser Ordner ist der einzige in dem entsprechenden Ordner:
$folder = "C:\user\blabla"  
gci $folder | ?{$_.PSIsContainer} | select -First 1 | %{
    $cnt = 1
    gci $_.Fullname | ?{$_.PSIsContainer} | sort CreationDate | %{rename-item $_.Fullname -NewName "Backup_$cnt" -Force; $cnt++}  
    rename-item $_.FullName -NewName "Backup" -Force  
}
Gruß jodel32
Member: Zero90
Zero90 May 11, 2015 at 18:00:59 (UTC)
Goto Top
Nein, es befindet sich dort nur ein ordner. In diesem ordner befinden sich 8 weitere von denen ich den neusten benötige
Member: Zero90
Zero90 May 11, 2015 at 18:02:16 (UTC)
Goto Top
Thanks @ all werde es am mittwoch testen face-smile