|
 |
 |
|
Dokumentation zu Touch 1.7.0
(c) 2003-2020 by Martin Wodrich
Inhaltsverzeichnis
1. Einleitung
2. Systemvoraussetzungen
3. Dateiparameter
3.1 Eindeutige Dateien
3.2 Wildcards
3.3 Verzeichnismakros
3.4 Spezielle Dateien
4. Dateiparameter
mit
besonderer
Funktion
4.1. Referenzdatei
4.2 Jobdatei
5. Datum/Uhrzeit
festlegen
6. Besondere
Funktionen
6.1 Simulationslauf
6.2 Automatische Großschreibung
6.3 ZConnect-PUFFER
erstellen
6.4 Interaktiver Modus
6.5 md5-Summen
6.6 sha1-Summen
7. Betriebsystemabhängigkeiten
7.1 Lange
Dateinamen
7.2 Beenden
von
Touch
A. Lizenz- und
Nutzungsbedingungen
1. Einleitung
Touch dient dazu, das
Dateidatum mitsamt Uhrzeit auch von mehr
als einer Datei gleichzeitig anzupassen.
Hierbei kennt mein Touch einige
spezielle Kniffe, die andere
Implementierungen oft nicht haben.
Alle bearbeiteten Dateien werden mit
vollständigem Pfad ausgegeben.
2.
Systemvoraussetzungen
Touch ist portabel geschrieben.
Es kann daher für fast jedes
Betriebsystem compiliert werden.
Derzeit sind folgende Versionen
verfügbar:
- DOS16 (mit einschaltbarer
LFN-Unterstützung)
- DOS16 (ohne LFN-Unterstützung)
- DPMI (ohne LFN-Unterstützung)
- WIN16 (ohne LFN-Unterstützung)
- WIN32 (mit LFN-Unterstützung)
- WIN64/AMD64 (mit LFN-Unterstützung)
(weitere Betriebssysteme sind möglich)
3.
Dateiparameter
3.1 Eindeutige
Dateien
Touch kann mit
fast beliebig vielen Dateien als
Parameter aufgerufen werden. Diese
Dateien können mit und auch ohne
vollständigen Pfad eingegeben werden.
Die Schreibweise (Groß- oder
Kleinschreibung) aller Angaben - ob
Datei-, Verzeichnisnamen oder
Parameterbezeichner ist beliebig.
Beispiel:
touch
Datei1
C:\Datei2 d:\verz\datei3
Wichtig:
Wird ein Dateiname angegeben, der
entweder im aktuellen Verzeichnis
(bei fehlender Dateiangabe) bzw. an der
angegebenen Stelle nicht existiert, so
wird die Datei neu angelegt.
3.2 Wildcards
Als Dateiparameter sind
ebenfalls sogenannte Wildcards erlaubt.
Diese allerdings ausschließlich im
Dateinamen, nicht aber in
Verzeichnisangaben.
Beispiel:
touch
datei?
c:\cvs\*.*
Bei der
Verwendung von Wildcards werden keine
Dateien neu angelegt wie das u.U. bei
eindeutigen Dateien geschehen kann.
3.3
Verzeichnismakros
Touch besitzt eine sehr
umfassende Möglichkeit, um
Verzeichnisangaben in Kurzform
anzugeben.
Es gibt folgende
Verzeichnisangabenmakros:
#: Auf allen Laufwerken Touch anwenden.
Touch wird diese Angabe in bis zu 26
Einzelangaben auflösen.
Jedes Laufwerk, das als beschreibbar
gefunden wird, wird
bearbeitet bzw. Durchsucht.
Aufgrund des Testes werden
Diskettenlaufwerke einen kurzen
Seek durchführen, wenn keine Diskette
eingelegt ist.
\#\ Bedeutet, dass Dateien in jedem
Verzeichnis gesucht werden, das
ein direktes Unterverzeichnis des
Verzeichnisses ist, welches
links von diesem Makro angegeben ist.
Zusätzlich wird auch noch
das Verzeichnis durchsucht, welches sich
ergeben würde, wenn
dieses Makro nicht eingegeben würde.
\##\ Wie \#\, aber zusätzlich auch alle
Unterverzeichnisse der
direkten Unterverzeichnisse. Und davon
wieder alle
Unterverzeichnisse. (Rekursive Suche
nach allen Dateien
unterhalb eines Verzeichnisses)
# (Angabe ohne weitere Angaben)
Dieses Makro wird einfach nur nach
.\#\*.* aufgelöst. Dies
bedeutet also alle Dateien im aktuellen
Verzeichnis sowie in
allen direkten Unterverzeichnissen.
## (Angabe ohne weitere Angaben)
Dieses Makro wird nach .\##\*.*
aufgelöst. Es werden also alle
Dateien im und unterhalb des aktuellen
Verzeichnisses
bearbeitet.
### (Angabe ohne weitere Angaben)
Dieses Makro wird nach #:\##\*.*
aufgelöst. Damit werden also
alle Dateien erfasst, die überhaupt
erreichbar sind.
Bei der Verwendung von Verzeichnismakros
wird das Auflösen eines
solchen als "Expandiere Makro:" gefolgt
von der Eingabe angezeigt.
Achtung:
Komplexere Makros durchlaufen
mehrfach den Makroprozessor von Touch.
Dies schlägt sich in mehrfachen Ausgaben
von "Expandiere Makro:"
nieder. Dabei bezeichnet jede Ausgabe
einen Schritt beim Auflösen.
Insbesondere alle Makros mit 2 oder mehr
Rautezeichen # können
beliebig viele Zeilen erzeugen.
Der Makroprozessor löst iterativ die
eingegebenen Makros auf.
Bei der Verwendung von Verzeichnismakros
können auch Dateien neu
angelegt werden, solange die Dateiangabe
eindeutig ist und keine Wildcards
enthält.
3.4
Spezielle Dateien
Touch verändert normalerweise
versteckte Dateien sowie Systemdateien
nicht, sondern nur durch direkte Angabe
des Parameters.
mit /S können auch Systemdateien erfasst
werden.
mit /H auch versteckte Dateien.
Diese Angaben können auch beide zusammen
benutzt werden.
4.
Dateiparameter mit besonderer Funktion
4.1.
Referenzdatei
Touch unterstützt die
Verwendung einer Referenzdatei. Dies ist
eine Datei, deren Dateidatum und Uhrzeit
auf alle anderen angegebenen Dateien
kopiert wird. Es ist dabei egal, an
welcher Stelle der Parameter-Liste die
Referenzdatei angegeben wird. Sie bezieht
sich immer auf alle angegebenen Dateien.
Die Referenzdatei wird durch ein
vorgestelltes /R= als solche kenntlich
gemacht.
(Als alias für /R= kann ebenso auch /F=
für die Angabe der Referenzdatei genommen
werden).
Beispiel:
touch
datei1 /R=datei2 datei3
(Kopiert das
Dateidatum und die Uhrzeit von Datei2 auf
Datei1 und Datei3)
4.2 Jobdatei
Die zu touchenden Dateien
müssen nicht unbedingt als Parameter an
Touch übergeben werden. Sie können auch
als Liste in einer Datei geschrieben
sein. Diese Datei wird Touch dann mit
vor dem Dateinamen gestelltem /J= als
solche kenntlich gemacht.
Es existieren die gleichen Möglichkeiten
bezüglich Makros und Wildcards wie bei
der Übergabe als Parameter. Auch die
Jobdatei kann an beliebiger Stelle in
der Parameterliste stehen.
5.
Datum/Uhrzeit festlegen
Mit /t=Uhrzeit kann eine
Uhrzeit übergeben werden, welche dann
bei allen als Parameter übergebenen
Dateien gesetzt wird. Die Angabe einer
Uhrzeit geschieht im Format hh:mm:ss,
also Stunde, Minute und Sekunde jeweils
durch Doppelpunkt getrennt.
Mit /d=Datum kann entsprechend ein Datum
übergeben werden. Dieses wird dabei im
Format tt.mm.yy oder tt.mm.yyyy
eingegeben. Das heißt Tag, Monat und
Jahr werden durch einen Punkt getrennt.
Das Jahr kann zweistellig, aber auch
4-stellig eingegeben werden.
Bei diesen Angaben wird ein
Plausibilitätstest gemacht, bevor sie
auf irgentwelche Dateien angewendet
werden. Sind diese Angaben nicht
plausibel, so bricht Touch ab. Ebenso
wenn Referenzdatei und Datum/Uhrzeit
gesetzt wird.
Wird nur Datum oder nur Uhrzeit
vorgegeben, so wird die fehlende Angabe
an den Dateien nicht verändert. Fehlt
jegliche Angabe von Datum und Uhrzeit so
wird das aktuelle Datum und die aktuelle
Zeit bei Programmstart benutzt. Läuft
Touch also mehrere Sekunden so haben
dennoch alle Dateien die gleiche Uhrzeit
und Datumsangabe.
6. Besondere
Funktionen
6.1 Simulationslauf
Wird der Parameter /V
(Vortäuschmodus) benutzt, so wird Touch
alles ausgeben, was es bei einem regulären
Lauf ausgeben würde, allerdings keine
Veränderungen an Dateidatum/Uhrzeit
hinterlassen. Insbesondere werden auch
alle Makros aufgelöst. Dies bedeutet
allerdings, dass der Seek auf allen
Diskettenlaufwerken ebenfalls durchgeführt
wird!!!
6.2
Automatische Großschreibung
Mit dem optionalen Parameter /G
kann erreicht werden, dass alle Dateien
nach dem Touchlauf in Großbuchstaben im
Verzeichnis stehen.
Der Parameter /K sorgt dafür, dass das
Dateidatum und die Dateizeit nicht
verändert wird. Dieser Parameter ist nur
bei Verwendung des Parameters /G
wirksam, sonst wird er ignoriert.
6.3
ZConnect-PUFFER
erstellen
Normalerweise erstellt Touch
Dateien mit 0 Bytes Größe. Wird das
Argument /ZC angegeben, so erstellt
Touch stattdessen Zconnect-PUFFER mit
einer Testnachricht. Dabei enthält jede
Datei exakt eine Nachricht, mit
eindeutiger Message-ID.
6.4
Interaktiver Modus
Wird der Parameter /I angegeben
so liest Touch Informationen über
zu bearbeitende Dateien über
Standard-Input.
6.5
md5-Summen
Wird der Parameter /md5
angegeben, so erstellt Touch im
aktuellen
Verzeichnis eine Datei md5sums, mit den
md5-Summen aller angefassten
Dateien.
6.6
sha1-Summen
Wird der Parameter /sha1 angegeben, so
erstellt Touch im aktuellen
Verzeichnis eine Datei sha1sums, mit den
sha1-Summen aller angefassten
Dateien.
7.
Betriebsystemabhängigkeiten
7.1 Lange Dateinamen
Touch unterstützt lange
Dateinamen (LFNs) sofern das Betriebsystem
diese anbietet.
Für DOS-Realmode (DOS16) muß diese
Unterstützung derzeit per Argument
(/LFN) eingeschaltet werden. Es existiert
mit TOUCHNLF.ZIP aber auch eine Version
ganz ohne LFN-Unterstützung.
Für 16 Bit DOS-Protected-Mode (DPMI) und
Win16 ist die Unterstützung nicht
verfügbar, da Windows 16 Bit dies nicht
bietet und die Unterstützung für 16 Bit
DOS-Protected-Mode nicht sicher ist. Alle
32 Bit Compilate (DOS32 und WIN32) können
automatisch lange Dateinamen nutzen.
7.2
Beenden
von
Touch
Normalerweise beendet sich
Touch sobald es mit seiner Aufgabe
fertig ist. Unter WIN16 kann mit dem
Argument /nc dies verhindert werden, da
unter dieser Platform Touch in einem
eignen Fenster läuft und sich dieses
unter Umständen zu schnell schließt.
Dieser Parameter existiert nur für
WIN16.
A.
Lizenz- und Nutzungsbedingungen
Touch ist Freeware.
Grundsätzlich gilt: Die Datei Touch.exe
bzw. Touch.pas darf nur zusammen mit
diesem Text verbreitet werden.
|
|
|