|
|
 |
 |
|
|
Dokumentation zu Touch 1.4.0
(c) 2003-2007 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)
- OS2 (ohne LFN-Unterstützung)
- WIN16 (ohne LFN-Unterstützung)
- DOS32 (mit automatischer LFN-Unterstützung)
- WIN32 (mit LFN-Unterstützung)
- OS2-EMX
- Linux
(weitere Betriebssysteme sind möglich)
Win64(AMD64) und Win64(IA64) sollte compilierbar sein, kann von mir
aber
mangels 64Bit-Windows weder erstellt noch getestet werden.
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.
Diese
Seite wurde
schon03014 Mal aufgerufen. |
|
|