Directory Touch (haftmann#software): Dateidatum setzen / aktualisieren
Das Besondere daran ist das Besondere darin: das Setzen des Datums von
Verzeichnissen erfolgt durch Sektorzugriff auf die Diskette / Festplatte;
DOS bietet hierfr keine anderen M”glichkeiten. 01/03: mit LFN-Untersttzung
| Arbeitsweise:
+--------------
Das Programm holt sich anfangs die Uhrzeit des Rechners, die mit den
Parametern /d, /t, /g, /j und /v modifiziert werden kann. Diese Zeit kann
mit /i angezeigt werden; die Position in der Kommandozeile bestimmt das
Ergebnis. Alternativ kann eine Datei (mit Option /f) als Quelle von Datum
und Uhrzeit dienen.
Die Kommandozeile wird von links nach rechts abgearbeitet, sodass
>dirtouch autoexec.bat /f config.sys
die AUTOEXEC.BAT auf das aktuelle Datum gesetzt wird und nicht auf dasselbe
wie die CONFIG.SYS. Das Datum der CONFIG.SYS wird erst nach dem TOUCH der
AUTOEXEC.BAT ausgelesen und dann verworfen.
Auf diese Weise k”nnen mit einem DIRTOUCH-Aufruf verschiedene Dateien
auf verschiedene Zeiten gesetzt werden, solange die Kommandozeile reicht.
| Beispiele:
+-----------
>dirtouch . - setzt das Verzeichnis . und den Eintrag im
bergeordneten Verzeichnis auf aktuelles Datum.
Zu den ..-Eintr„gen siehe unten.
>dirtouch /f quelle.txt henni - kopiert die Uhrzeit von quelle.txt nach
henni. Ist henni ein Verzeichnis, wird auch . im Vrz. henni gesetzt.
>dirtouch *.txt - setzt alle Dateien mit Endung TXT auf das aktuelle Datum.
Auch wenn DIRTOUCH eine Weile dazu braucht, bekommen alle Dateien
das gleiche Datum. Sollte sich ein Verzeichnis mit dieser Endung
darunter befinden, wird es ebenfalls geTOUCHt. Die Dateien DARIN werden
nicht berhrt.
>dirtouch /v7.01 *.exe *.dll - setzt das Datum von heute, aber als
Uhrzeit die "Versionsnummer" 7.01, fr alle Dateien mit .EXE und .DLL
>dirtouch /f *.dll /v 7.01.22 /i *.dll - setzt die DLLs auf das
Datum der ersten gefundenen DLL, die Uhrzeiten jedoch mit
"Versionsnummer" 7.01.22. Zur Kontrolle erfolgt die Ausgabe des zu
setzenden Dateidatums.
| Interessante Nebenanwendungen:
+-------------------------------
>dirtouch /i - zeigt aktuelles Datum und Uhrzeit an
>dirtouch /f=autoexec.bat /i - zeigt Dateidatum mit Sekunden(!) an
>dirtouch /g01.01.2000 /i - Das Programm ist Jahr-2000-sicher.
(Wird das Jahrhundert weggelassen, wird stets das aktuelle verwendet.)
| Der DOS- und der UNIX-Modus:
+-----------------------------
DOS und UNIX verwalten Verzeichnisse auf verschiedene Weise.
Unter DOS haben der Verzeichnisname und die darin befindlichen
symbolischen Namen . und .. das gleiche Erstellungsdatum.
Dieses Verhalten wird standardm„áig von DIRTOUCH nachgebildet.
Unter UNIX zeigen die Eintr„ge auf einen inode, der die Zeit speichert.
Um dieses Verhalten auf Wunsch nachzubilden, modifiziert DIRTOUCH
den Verzeichnisnamen, den symbolischen Namen . sowie alle .. in den
darin untergeordneten Verzeichnissen.
Der Schalter /u schaltet zwischen den beiden Modi hin und her.
| Grenzen des Programms:
+-----------------------
- Im Gegensatz zu UNIX erzeugt dieses Programm niemals neue Dateien
- DIRTOUCH arbeitet ausschlieálich mit Lokalzeit; keine Weltzeitumrechnungen
- Keine Untersttzung fr die unter Windows95 verwendeten Zeiten "Erstellung"
und "Letzter Zugriff" (bei Dateien).
- Untersttzung fr Verzeichnisse auf FAT unter DOS und alles unter Windows9x
- unter DOS ist DOSLFN notwendig fr Funktion bei fragmentierten Verzeichnissen
- DIRTOUCH arbeitet nicht rekursiv - hier behelfe man sich mit FOREACH.
- Das Setzen von Datum und Uhrzeit erfolgt stets komplett pro Datei.
Ist das nicht erwnscht, ist eine FOR-Schleife aufzubauen:
>for %i in (*.exe) do dirtouch /f %i /g 1.1. %i
Von allen EXE-Dateien wird nur Tag und Monat auf 1.1. ver„ndert.
In BATch-Dateien ist das % bekanntermaáen doppelt (%%) zu schreiben!
- Falls diese Hilfe hoffnungslos ber den Bildschirm hinweggerollt ist, m”ge
man sich doch mal nach MORE oder besser LESS umsehen:
>dirtouch /h | less
Detected encoding: UTF-8 | 0
|