Quelltext /~heha/hsn/dos/dirtouch.zip/DIRTOUCH.TXT

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 Mglichkeiten. 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 knnen 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 ..-Eintrgen 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 standardmig von DIRTOUCH nachgebildet.

 Unter UNIX zeigen die Eintrge 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 ausschlielich 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. verndert.
  In BATch-Dateien ist das % bekanntermaen doppelt (%%) zu schreiben!

- Falls diese Hilfe hoffnungslos ber den Bildschirm hinweggerollt ist, mge
  man sich doch mal nach MORE oder besser LESS umsehen:
	>dirtouch /h | less
Vorgefundene Kodierung: UTF-80