Horst's
English German


Don't follow leaders
Horst Schaeffer's Software Pages
VARSET 1.2 Variable setzen ... Download (9Kb)
VARSET setzt Variable mit diversen Datei-Informationen. Außerdem werden arithmetische und String-Operationen geboten. Lange Dateinamen werden unter Windows 9x/2000/XP behandelt (nicht unter NT).

Einfache Syntax, z.B.:     call var set FD=date of filename.ext

Zum Setzen der Umgebungsvariablen wird ein SET-Befehl generiert und über die CALL VAR SET .. Konstruktion automatisch ausgeführt, auch unter Win NT/2000.

DATE, TIME Datum/Uhrzeit von gegebener Datei oder Tagesdatum/aktuelle Zeit
FILES, DIRSAnzahl Dateien/Verzeichnisse (Jokerzeichen)
SIZE Größe von Datei(en), Jokerzeichen erlaubt, Bytes, KB oder MB
LINESAnzahl Zeilen (ASCII Text-Datei vorausgesetzt)
VOL Datenträgerbezeichnung (Volume Label)
DRIVE, -DRIVELaufwerk extrahieren bzw. entfernen
NAME Name einer Datei: ohne Pfad und Namenszusatz
EXT, -EXT Namenszusatz extrahieren bzw. entfernen
LFN, SFN Langer/kurzer Dateiname (mit vollem Pfad)
FULL Voller Dateiname (mit Pfad)

STRING(p,l)

Substring (Position, Länge)
(Ausdruck) Arithmetische Berechnung (Ganzzahlen)

Optionen: Groß-/Klein Umwandlung, rechtsbündige Ausrichtung, führende Nullen, Tausender-Punkte.
 
VARGET 1.2 Zuweisungen aus INI-Datei entnehmen Download (5Kb)
Mit VARGET können Zuweisungen aus einer INI-Datei (nach Windows-Art) als Umgebungsvariable übernommen werden. Abschnittsnamen werden unterstützt.

Beispiel:     call var get [desktop]wallpaper from %windir%\WIN.INI

Zur Erzeugung der Variablen verwendet VARGET die selbe CALL VAR Konstruktion wie VARSET.COM (Win 2000/XP kompatibel). Mehrere Zuweisungen können mit einem Befehl extrahiert werden.

Beispiel:     call var get MAIL,SOURCE,ADDRESS from XJOB.INI

VARGET ermöglicht einfache Verwendung von INI-Dateien auch für eigene Batch-Projekte. Um Umgebungsspeicher zu sparen können Variable nur dann aktiviert werden, wenn sie benötigt werden.

Siehe auch: IniFile (DOS), IniFile (32bit)
 
LMOD 1.3 Zeilen/Listen Modifikation Download (12Kb)
LMOD extrahiert gezielt Daten aus dem Input (STDIN), z.B. aus einer DOS-Bildschirmausgabe oder aus einer beliebigen (Text-) Datei. Die Daten werden in eine vorgegebene Text- bzw. Befehlszeile eingefügt und (an STDOUT) ausgegeben, so dass sie in eine Datei umgeleitet werden können.

Extrahiert werden kann eine ganze Zeile, ein Teil davon (ab Spalte/Länge) oder das soundsovielte Wort, auch mehrere Ausschnitte in beliebiger Anordnung. Und dies geschieht wahlweise für eine einzelne Zeile oder einen Bereich von Zeilen.

Damit lässt sich u.a. folgendes machen:
  • Umgebungsvariable mit Daten aus (DOS) Bildschirmausgaben setzen
  • Tastatur-Eingaben
  • beliebige Befehle unter Verwendung der Inputdaten erzeugen
  • Befehlsliste generieren für jede Zeile einer (Datei-) Liste
  • Zeilenbereich aus einer Datei extrahieren (und modifizieren)
  • Listen und Tabellen modifizieren, Spalten neu ordnen
Zum Setzen von Umgebungsvariablen wird ein SET-Befehl generiert (oder WINSET / SETX) und über eine temporäre BAT-Datei ausgeführt. Diese Methode funktioniert auch unter Windows NT oder Windows 2000.

Besondere Funktionen:
  • Groß-/Kleinschreibung für extrahierte Daten ändern
  • Tabs (Sprung auf bestimmte Spalte) für formatierte Listenausgabe
  • rechts ausgerichtete Felder (Zahlen in Tabellen)
  • CR+LF einfügen, um mehrere Zeilen pro Eingabezeile auszugeben
  • CR+LF am Zeilenende unterdrücken (um später anzufügen)
  • laufende Nummer einfügen (z.B. um damit Dateinamen zu generieren)
  • (Sonder-)Zeichen per ASCII-Code oder in Anführungszeichen einfügen
 
ISDATE 2.4 Datumsvergleich Download (3Kb)
IsDate vergleicht zwei Datumsangaben, auch von Dateien und Verzeichnissen, sowie Tagesdatum. Datumsformat gem. COUNTRY. Optionale Differenz (plus/minus Tage).

Beispiel:   IsDate  C:\arc\bla.txt  before  today-7

Das Resultat (TRUE/FALSE) wird per Errorlevel mitgeteilt.

Features:
  • LFN möglich (Win9x/2000/XP)
  • Vergleichsoperatoren: [not] =, equal, before, after
  • Datumsformat: Standard oder selbst-definiert
  • Interne Berechhnung des Tageszählers seit 1 Jan 1901 (bis 2079)
32-Bit Befehlszeilen-Tool: WasFile.exe
 
WCLIP 2.2 DOS-Tool fürs Windows Clipboard Download (3Kb)
WCLIP sendet DOS-Text per Umleitung in die Windows-Zwischenablage ("Clipboard"), so daß der Text anschließend per "Einfügen" in WINDOWS-Dokumente übernommen werden kann.

Beispiel: DIR | WCLIP

Umgekehrt kann der Inhalt der Zwischenablage unter DOS auf dem Bildschirm ausgegeben oder per Umleitung in eine Datei geschrieben werden.

Umlaute und sonstige Sonderzeichen werden gemäß "OEM" Font für das jeweilige Land konvertiert. Auch Rahmenlinien werden für WIN-Dokumente in brauchbare Zeichen umgewandelt.

Optionen:
  • Anhängen an vorhandenen Text in der Zwischenablage (Standard: überschreiben)
  • T-Pipe: Ausgabe zugleich auf dem Bildschirm (STDOUT)
WCLIP läuft in der DOS-Box unter WIN95/98 (nicht unter NT/2000/XP).

32-Bit Befehlszeilen-Tool: ClipText.exe
 
FIND 2.3 FIND Tools Download (9Kb)
XFIND durchsucht Dateien nach einem String (optional in allen Unterverzeichnissen), und nennt alle Dateien in denen das String gefunden wurde.

Beispiel:   XFIND "irgendwas" C:\some\where\*.TXT *.DOC *.ASC /s > result.txt

Features:
  • Beliebige Dateitypen konnen surchsucht werden; String kann dezimale ASCII Codes enthalten
  • Mehrere Dateinamen (mit Jokerzeichen) erlaubt
  • Ausgabe der Dateinamen optional mit relativem Pfad (d.h. nur mit Unterverzeichnis-Namen),
    oder mit LFN's (relative oder volle Pfade)
  • Output-Zeilen könnnen mit einen beliebigen Prefix versehen werden
  • Groß-/Kleinschreibung wird standardmäßig ignoriert (Option)

TFIND durchsucht eine Datei, und gibt alle Zeilen aus, in denen die Suchangaben gefunden wurden (mehrere Angaben, UND-Verknüpfung). Eine FOR Schleife kann für mehrere Dateien verwendet werden.

Beispiel:   TFIND "dies" "das" TEST.TXT > result.txt

Features:
  • Die Suche kann auf ein Feld in einer Spalten-orientierten Liste begrenzt werden
  • Alternativer Errorlevel mit Anzahl der Treffer (max. 254)
  • Eingabedatei per STDIN möglich
  • Umkehrung der Ausgabe (alle Zeilen ohne Treffer)
  • Zeilenlänge bis 2Kb; Dateigröße nicht limitiert
  • Kopfzeilen mit Dateinamen (mit gegebenem oder relativem Pfad, LFN's) nur per Option;
    Prefix kann vorgegeben werden;
  • Spezial Modus bei dem nur Buchstaben und Ziffern relevant sind (Option)
  • Groß-/Kleinschreibung wird standardmäßig ignoriert (Option)
Anmerkung: LFN's nur unter Win9x/2000; Tabelle für Groß-/Kleinschreibung kann per Debug Script gepatched werden.
 
KEYBW 4.1 Deutscher Tastaturtreiber Download (8Kb)
KEYBW.COM ist ein kleiner DOS-Tastaturtreiber, der nur 480 Bytes Speicherplatz belegt.
Besonderheiten:
  • Die deutschen Tastenbelegungen können ueber eine INI-Datei nach Wunsch konfiguriert werden. Ohne INI-Datei wird die interne deutsche Standardbelegung aktiviert.

  • Der Treiber kann jederzeit erneut aufgerufen werden, im eine geänderte INI-Datei zu laden oder um Optionen zu ändern (neu booten nicht erforderlich).

  • Die alberne Behandlung der CAPS-Lock Taste (Umschalt-Feststelltaste) nach der deutschen DIN-Norm für mechanische Schreibmaschinen wird nicht verwendet. Statt dessen: allgemein übliche Handhabung wie unter Windows bei Tastatur-Layout "Deutsch (EDV)".

  • Die WIN-Tasten können im DOS-Modus mit ASCII-Codes belegt werden.

  • Befehlsoptionen: Punkt statt Dezimalkomma (Ziffernblock), Erweiterung des Tastaturpuffers auf 127 Tasten.
 
INIFILE 1.2 INI Datei Lesen/Schreiben Download (5Kb)
INIFILE behandelt Windows typische INI Dateien mit Gruppennamen in eckigen Klammern und Zuweisungen in der Form: Name=String. INI-Dateien ohne Gruppen können auch bearbeitet werden. Maximale Dateigröße: 60Kb.

Syntax:

INIFILE Dateiname [Gruppe] Name=String ändern oder neu schreiben
INIFILE Dateiname [Gruppe] Name= Zuweisung entfernen
INIFILE Dateiname [Gruppe] /remove ganze Gruppe entfernen
INIFILE Dateiname [Gruppe] Name > temp.bat Zuweisung lesen
INIFILE Dateiname [Gruppe] > temp.bat Grupe lesen

Zuweisungen, Gruppen und INI-Datei werden neu angelegt, falls nicht vorhanden. Beim Löschen einer Zuweisung wird auch die Grupe entfernt, wenn sie dann leer ist.

Zum Lesen einer Zuweisung wird ein SET Statement nach STDOUT ausgegeben (für Umleitung in eine temporäre Bach-Datei).

Nicht unterstützt in dieser Version:
  • Mehrere Zuweisungen mit dem selben Namen in der selben Gruppe (nur die erste wird gefunden)
  • Änderung von mehrfachen (durch Komma getrennten) Zuweisungen in einer Zeile (nur die ganze Zeile wird gelesen oder geschrieben)
Nur Englische Doku
32-Bit Befehlszeilen-Tool: IniFile.exe