Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Datei Erstellungsdatum per Batch ändern

Frage Entwicklung Batch & Shell

Mitglied: SavMaz

SavMaz (Level 1) - Jetzt verbinden

16.11.2008, aktualisiert 17.11.2008, 16895 Aufrufe, 9 Kommentare

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
Mitglied: Janni
16.11.2008 um 21:26 Uhr
Kein Batch, aber Google liefert: http://www.snapfiles.com/get/timestamptoucher.html
Bitte warten ..
Mitglied: bastla
16.11.2008 um 21:49 Uhr
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
Bitte warten ..
Mitglied: SavMaz
16.11.2008 um 22:16 Uhr
Hallo bastla,
Hallo Janni,

danke für die schnelle antwort - habe das mal mit touch erweitert, leider ändert der nur das zugriffsdatum - der player braucht aber das erstelldatum
Kennst du vielleicht ein ähnliches tool, welches auch auf das Erstelldatum greift??

Copy ist schon klar, besser sogar mit xcopy, aber das möchte ich erst als allerletzte Möglichkeit in Betracht ziehen

das Tool im Link von Janni hatte ich schon probiert, habe schon sämtliche Google-Freeware Tools probiert und bei allen oben genanntes Problem - es werden zwar die Attribute (auch in der "Eigenschaften" Anzeige von Win) richtig angezeigt bzw. gesetzt, nur erkenne ich den Grund, warum das dem Player egal ist, nur im WinCommander, wenn ich eben in den Ordner hinein wechsle, steht nur noch oben bei ".." noch das originale Datum - und (was auch immer das für ein Stamp sein soll) dürfte das Autoradio lesen....

Achja, für die, die es interessiert bzw. brauchen können, poste ich hier meine Erweiterung mit Touch.exe (einfach googeln und ins Windows\system32 kopieren!):

@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
)

for /f "delims=\ tokens=3,4" %%j in ('dir "%USBDrive%" /O:N /B /S') do touch "%USBDrive%\%%j\%%k"
Bitte warten ..
Mitglied: bastla
16.11.2008 um 22:25 Uhr
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
Bitte warten ..
Mitglied: SavMaz
16.11.2008 um 23:06 Uhr
Hallo bastla,

hab mir den Attribut Changer angeschaut - den hatte ich noch nicht, aber das ist nur eine Shell Extension, kann nur leider keine Steuerung per Commandline finden - bist du sicher, dass das Tool sowas bieten soll?

Die Shell Extension arbeitet mit bereits beschriebenen Problem, jedoch bei Files wär´s ja ok, wenn ich´s jetzt noch irgenwie per commandline aufrufen könnte....

lg
Andi
Bitte warten ..
Mitglied: bastla
16.11.2008 um 23:14 Uhr
Hallo SavMaz!

... 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
Bitte warten ..
Mitglied: bastla
17.11.2008 um 00:03 Uhr
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:
wintouch -d "D:\Test" -p "Eine Datei.txt" -t "15.11.2008 15:11:20" -c
Grüße
bastla
Bitte warten ..
Mitglied: SavMaz
17.11.2008 um 09:20 Uhr
Hallo Bastla,

super, vielen, vielen Dank!!!!

das ist es, funktioniert nun bestens - nur zur Info: Folder werden mit dem Tool (wie mit allen anderen auch) zwar nicht korrekt geändert, dafür funktioniert eh schon mein Batch, jedoch werden nun die Files auch perfekt und richtig geändert!

Nochmals Danke für die super schnelle und kompetente Hilfe!!

Hier noch für alle, die es brauchen können, das fertig Script:
01.
@echo off 
02.
 
03.
set USBDrive=d:\test 
04.
 
05.
if exist "%USBDrive%\re_sort_temp" rmdir "%USBDrive%\re_sort_temp" /S /Q 
06.
 
07.
for /f "delims= tokens=1" %%i in ('dir %USBDrive% /O:N /B') do ( 
08.
ren "%USBDrive%\%%i" "re_sort_temp" 
09.
md "%USBDrive%\%%i" 
10.
move "%USBDrive%\re_sort_temp\*.*" "%USBDrive%\%%i" 
11.
rmdir "%USBDrive%\re_sort_temp" /S /Q 
12.
wintouch -d "%USBDrive%\%%i" -t "%Date% %Time:~1,7%" -c -a -m 
13.
)
Gruß
Andi

[Edit Biber 17.11.2008] Code in Code-Tags und Beitrag auf "erledigt" gesetzt.[/Edit]
Bitte warten ..
Mitglied: SavMaz
17.11.2008 um 10:37 Uhr
Hallo nochmals,

war leider zu schnell mit der guten Nachricht - ich verstehe die Welt derzeit nicht mehr...

folgendes habe ich feststellen müssen:

die Sortierung der Folder macht der Autoradio offensichtlich nicht nach dem "Erstellungsdatum" Flag, sonder etwas "ähnlichem" - und zwar genau so, wie der DIR Befehl ohne weitere Parameter...

mache ich ein dir F: werde die Ordner wieder "irgendwie" sortiert, mit dir F: /O:N alphabetisch, mache ich DIR F: /O:N /S werden die Ordner wieder irgendwie sortiert, trotz neu angelegter Ordner und wingetouchter files!?!?!???

Weiß irgendwer, nach welchen Kriterien die Dateien per DIR von einem USB Stick (mit FAT32) soriert werden? Auf einer NTFS Platte funktioniert oben beschriebener Batch bestens, jedoch leider eben nicht am Stick selbt....

Kann man den Beitrag irgendwie wieder auf Nicht-gelöst setzten??

Edit: hab es gefunden, hab mal das Gelöst-Häckchen vom Beitrag wieder entfernt!

Gruß
Andi
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Batch & Shell
Neuere Datei per Batch ausfinding machen (2)

Frage von chattie zum Thema Batch & Shell ...

XML
gelöst XML Datei per Skript ändern (12)

Frage von chrisen zum Thema XML ...

Batch & Shell
gelöst Datum per batch ändern in Tagen (2)

Frage von crawnby zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...