Datei Erstellungsdatum per Batch ändern
Hallo,
zuerstmal grosses Lob an diese Community hier, die umfangreichen Beiträge haben mir hier schon sehr oft weitergeholfen, nun stehe ich aber leider vor einem Problem, wo ich wirklich nirgends mehr etwas gefunden habe, deshalb meine Frage an alle Batch Script Experten:
Wie (ich frage nicht bewusst "ob", da ich weiß, dass alles geht - die Frage ist nur WIE ;) ) kann man per Batch das Erstellungsdatum von Dateien ändern??
Hintergrund:
Habe einen Autoradio mit USB Anschluss angeschafft - nun ist dieses Teil so schlau und sortiert sowohl Ordner als auch Dateinamen nach Erstellungsdatum, nicht nach Name....
Ich möchte nun auf dem schnellst möglichen weg eine Datenmenge von 8GB MP3´s (d.h. sehr viele, kleinere Files - keine großen wenigen!) das Erstellungsdatum einer Alphabetischen Sortierung anpassen. Für die Ordner-Sortierung habe ich bereits ein funktionierendes Batch, siehe weiter unten - jedoch werden damit dann die Files im Ordner teilweise noch immer nicht richtig sortiert, falls eben nicht in alphabtischer Reihenfolge raufkopiert. Folgende Varianten habe ich ausprobiert:
- Div Tools zum ändern des Erstellungsdatums (TotalCommander, QuickAttrib, etc) ändern zwar die Files, jedoch nicht die Folder (die Funktion Folder Datum ändern gibt es zwar, im Root Verzeichnis am PC wird auch das korrekte (geänderte Datum) angezeigt, wenn man jedoch z.B. mit Total Commander ins Verzeichnis wechselt, werden die ".." noch immmer mit dem originalen Datum/Zeit angezeigt
--> daher unbrauchbar, der Autoradio sortiert nur die Dateien in Ordnern, jedoch nicht die Ordner
- mein Batch: es wird einfach jedes Verzeichniss (es gibt immer nur max 1 Ordner ohne Unterordner im Root!) umbenannt, dann der ein neuer Ordner mit Originalem Namen erstellt und die Files zurückverschoben
--> das ist schon brauchbarer, da nun wenigstens die Ordner richtig sortiert sind, die Files darin eben aber noch nicht
- Alles einfach in alphabetischer Reihenfolge neu auf den USB Stick kopieren
--> funktioniert, dauert aber viiieeeel zu lange
- eine Kombination aus den ersten beiden Varianten ist möglich und funktioniert, jedoch zu umständlich (es sollte wenn geht auch meine komplett PC unerfahrene Frau bedienen können), außerdem bevorzuge ich die elganteren Lösungen ;)
und falls es hilft, mir steht eigentlich überall Vista zur Verfügung, daher also stehen auch die evtl. neuen zusätzlichen (erweiterten) Commandline-Tools zur Verfügung!!
Achja, hier noch mein Ansatz von Batch-Lösung:
@echo off
set USBDrive=d:\test
if exist "%USBDrive%\re_sort_temp" rmdir "%USBDrive%\re_sort_temp" /S /Q
for /f "delims= tokens=1" %%i in ('dir %USBDrive% /O:N /B') do (
ren "%USBDrive%\%%i" "re_sort_temp"
md "%USBDrive%\%%i"
move "%USBDrive%\re_sort_temp\*.*" "%USBDrive%\%%i"
rmdir "%USBDrive%\re_sort_temp" /S /Q
)
bin für jeden Tipp/Vorschlag offen - leider kann ich nur Batch-Skript, VB wäre aber sicher auch eine Möglichkeit....
Grüße
Andi
zuerstmal grosses Lob an diese Community hier, die umfangreichen Beiträge haben mir hier schon sehr oft weitergeholfen, nun stehe ich aber leider vor einem Problem, wo ich wirklich nirgends mehr etwas gefunden habe, deshalb meine Frage an alle Batch Script Experten:
Wie (ich frage nicht bewusst "ob", da ich weiß, dass alles geht - die Frage ist nur WIE ;) ) kann man per Batch das Erstellungsdatum von Dateien ändern??
Hintergrund:
Habe einen Autoradio mit USB Anschluss angeschafft - nun ist dieses Teil so schlau und sortiert sowohl Ordner als auch Dateinamen nach Erstellungsdatum, nicht nach Name....
Ich möchte nun auf dem schnellst möglichen weg eine Datenmenge von 8GB MP3´s (d.h. sehr viele, kleinere Files - keine großen wenigen!) das Erstellungsdatum einer Alphabetischen Sortierung anpassen. Für die Ordner-Sortierung habe ich bereits ein funktionierendes Batch, siehe weiter unten - jedoch werden damit dann die Files im Ordner teilweise noch immer nicht richtig sortiert, falls eben nicht in alphabtischer Reihenfolge raufkopiert. Folgende Varianten habe ich ausprobiert:
- Div Tools zum ändern des Erstellungsdatums (TotalCommander, QuickAttrib, etc) ändern zwar die Files, jedoch nicht die Folder (die Funktion Folder Datum ändern gibt es zwar, im Root Verzeichnis am PC wird auch das korrekte (geänderte Datum) angezeigt, wenn man jedoch z.B. mit Total Commander ins Verzeichnis wechselt, werden die ".." noch immmer mit dem originalen Datum/Zeit angezeigt
--> daher unbrauchbar, der Autoradio sortiert nur die Dateien in Ordnern, jedoch nicht die Ordner
- mein Batch: es wird einfach jedes Verzeichniss (es gibt immer nur max 1 Ordner ohne Unterordner im Root!) umbenannt, dann der ein neuer Ordner mit Originalem Namen erstellt und die Files zurückverschoben
--> das ist schon brauchbarer, da nun wenigstens die Ordner richtig sortiert sind, die Files darin eben aber noch nicht
- Alles einfach in alphabetischer Reihenfolge neu auf den USB Stick kopieren
--> funktioniert, dauert aber viiieeeel zu lange
- eine Kombination aus den ersten beiden Varianten ist möglich und funktioniert, jedoch zu umständlich (es sollte wenn geht auch meine komplett PC unerfahrene Frau bedienen können), außerdem bevorzuge ich die elganteren Lösungen ;)
und falls es hilft, mir steht eigentlich überall Vista zur Verfügung, daher also stehen auch die evtl. neuen zusätzlichen (erweiterten) Commandline-Tools zur Verfügung!!
Achja, hier noch mein Ansatz von Batch-Lösung:
@echo off
set USBDrive=d:\test
if exist "%USBDrive%\re_sort_temp" rmdir "%USBDrive%\re_sort_temp" /S /Q
for /f "delims= tokens=1" %%i in ('dir %USBDrive% /O:N /B') do (
ren "%USBDrive%\%%i" "re_sort_temp"
md "%USBDrive%\%%i"
move "%USBDrive%\re_sort_temp\*.*" "%USBDrive%\%%i"
rmdir "%USBDrive%\re_sort_temp" /S /Q
)
bin für jeden Tipp/Vorschlag offen - leider kann ich nur Batch-Skript, VB wäre aber sicher auch eine Möglichkeit....
Grüße
Andi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 101950
Url: https://administrator.de/forum/datei-erstellungsdatum-per-batch-aendern-101950.html
Ausgedruckt am: 20.04.2025 um 15:04 Uhr
9 Kommentare
Neuester Kommentar
Kein Batch, aber Google liefert: http://www.snapfiles.com/get/timestamptoucher.html
Hallo SavMaz und willkommen im Forum!
Ändere das "move" in ein "copy" und nachfolgendes "del" - dadurch wird (siehe Beschreibung von NTFS-Datums- und Zeitstempeln für Dateien und Ordner - auch für FAT-Partitionen) das Erstellungsdatum der Datei geändert.
Kopieren musst Du zwar immer noch, aber das lässt sich ja automatisieren, und, da es sich um kleinere Dateien handelt, musst Du auch nur soviel freien Speicherplatz haben, wie die größte Datei benötigt.
Alternativ könntest Du ein Commandline-"touch"-Tool suchen ...
Grüße
bastla
Ändere das "move" in ein "copy" und nachfolgendes "del" - dadurch wird (siehe Beschreibung von NTFS-Datums- und Zeitstempeln für Dateien und Ordner - auch für FAT-Partitionen) das Erstellungsdatum der Datei geändert.
Kopieren musst Du zwar immer noch, aber das lässt sich ja automatisieren, und, da es sich um kleinere Dateien handelt, musst Du auch nur soviel freien Speicherplatz haben, wie die größte Datei benötigt.
Alternativ könntest Du ein Commandline-"touch"-Tool suchen ...
Grüße
bastla
Hallo SavMaz!
Ich meinte nicht das "klassische" "touch", sondern Tools (wie zB Attribute Changer), mit denen jeder der 3 Timestamps auf einen beliebigen Wert gesetzt werden kann - allerdings natürlich mit Steuerung per Commandline ...
... wenn Du die aber auch schon alle durch hast, fällt mir auch nix anderes mehr ein ...
Grüße
bastla
Ich meinte nicht das "klassische" "touch", sondern Tools (wie zB Attribute Changer), mit denen jeder der 3 Timestamps auf einen beliebigen Wert gesetzt werden kann - allerdings natürlich mit Steuerung per Commandline ...
... wenn Du die aber auch schon alle durch hast, fällt mir auch nix anderes mehr ein ...
Grüße
bastla
Hallo SavMaz!
Mir ist leider kein derartiges Commandline-Programm bekannt (sonst hätte ich's Dir schon verraten
) ...
Grüße
bastla
... kann nur leider keine Steuerung per Commandline finden - bist du sicher, dass das Tool sowas bieten soll?
"Attribut Changer" kann das nicht (deswegen oben "allerdings ...") - sollte nur zeigen, was ich eigentlich mit "touch"-Tool gemeint hatte.Mir ist leider kein derartiges Commandline-Programm bekannt (sonst hätte ich's Dir schon verraten
Grüße
bastla
Hallo SavMaz!
Nachtrag: Mit WinTouch sollte das klappen. (Für den Download musst Du Dich allerdings registrieren - außerdem wird .NET 1.1 vorausgesetzt).
Die Datums-/Zeitangabe ist den Systemeinstellungen entsprechend vorzunehmen - also etwa:
Grüße
bastla
Nachtrag: Mit WinTouch sollte das klappen. (Für den Download musst Du Dich allerdings registrieren - außerdem wird .NET 1.1 vorausgesetzt).
Die Datums-/Zeitangabe ist den Systemeinstellungen entsprechend vorzunehmen - also etwa:
wintouch -d "D:\Test" -p "Eine Datei.txt" -t "15.11.2008 15:11:20" -c
bastla