TCC Startup-Programm
Jedes Mal, wenn TCC startet, sucht es nach einem Programm namens TCSTART. TCSTART ist normalerweise eine Batch-Datei (.BAT, .BTM oder .CMD), kann aber auch eine beliebige ausführbare Datei sein. Wenn Sie in der Konfigurationsoption TCSTART / TCEXIT einen Pfad angeben , muss sich die Datei in dem angegebenen Verzeichnis befinden. Wenn die Konfigurationsoption nicht verwendet wird, wird das TCSTART-Programm, falls vorhanden, im gleichen Verzeichnis wie Ihr Befehlsprozessor ausgeführt. Die Verwendung von TCSTART ist optional, und TCC zeigt keine Fehlermeldung an, wenn das Programm nicht gefunden wird. Wenn Sie kein Startprogramm verwenden wollen, setzen Sie den Pfad für TCSTART / TCEXIT auf ein Verzeichnis, in dem sich kein Programm befindet, oder lassen Sie ihn unbestimmt und stellen Sie sicher, dass sich keine passende ausführbare Datei im TCCVerzeichnis liegt.
TCSTART ist ein praktischer Ort, um die Farbe oder den Inhalt der Eingabeaufforderung für jede Sitzung zu ändern, den Start einer Sitzung zu protokollieren oder andere spezielle Start- oder Konfigurationsbefehle auszuführen. Es ist auch eine Möglichkeit, Aliase, Funktionen und Umgebungsvariablen zu setzen . Siehe den Abschnitt unten über Pipes usw. zum Ändern von Verzeichnissen über TCSTART.
Mit Ausnahme einiger Initialisierungsschalter steht die gesamte Startbefehlszeile, die an TCC übergebene Startbefehlszeile für TCSTART als Batch-Datei-Parameter zur Verfügung (%1, %2, usw.). Um z. B. eine Pause einzulegen, wenn Parameter übergeben werden, könnten Sie diesen Befehl in TCSTART einfügen :
if %# GT 0 pause Start von %_cmdproc mit Parametern [%$]
Sie können TCSTART und/oder TCEXIT deaktivieren
Pipes, transiente Sitzungen/Prozesse und TCSTART
Wenn Sie das TCSTART-Programm einrichten, denken Sie daran, dass es bei jedem Start des Befehlsprozessors ausgeführt wird, auch wenn eine Pipe ausgeführt wird oder wenn eine transiente Kopie von TCC mit der Startoption/C gestartet wird . Angenommen, Sie geben eine Befehlszeile wie die folgende ein, die eine Pipe verwendet:
[c:\data] myprog | sort > out.txt
Normalerweise würde dieser Befehl die Ausgabedatei C:\DATA\OUT.TXTerstellen . Wenn Ihr TCSTART-Programm jedoch in ein anderes Verzeichnis wechselt, wird die Ausgabedatei dorthin und nicht in C:\DATA geschrieben . Der Grund dafür ist TCC eine zweite Kopie (Instanz) von sich selbst startet, um die Befehle auf der rechten Seite der Pipe auszuführen, und diese neue Kopie führt TCSTART vor der Verarbeitung der Befehle aus der Pipe aus.
Dasselbe geschieht, wenn Sie eine transiente Sitzung (eine mit der Option /Cgestartete ) verwenden , um einen einzelnen Befehl auszuführen und dann zu beenden. Die Sitzung wird in dem von TCSTART festgelegten Verzeichnis ausgeführt , nicht in dem Verzeichnis, in dem sie ursprünglich gestartet wurde (z. B. durch Angabe eines Arbeitsverzeichnisses in einer Verknüpfung). Angenommen, Sie richten ein Desktop-Objekt mit einer Befehlszeile wie dieser ein, die eine transiente Sitzung startet:
| Befehl: | d:\tc\tcmd.exe /c list myfile.txt |
| Arbeitsverzeichnis: | c:\data |
Normalerweise würde diese Verknüpfung die Datei C:\DATA\MYFILE.TXT auflisten. Wenn TCSTART jedoch die Vorgabe auf ein anderes Verzeichnis ändert , TCC sucht MYFILE.TXT dort und nicht in C:\DATA.
Ebenso wirken sich alle Änderungen an Umgebungsvariablen, Aliasen oder anderen Einstellungen in TCSTART auf alle Kopien von TCCaus, einschließlich derjenigen, die für Pipes und transiente Sitzungen verwendet werden.
Sie können diese potenziellen Probleme mit den Befehlen IF oder IFF und den internen Variablen _PIPE und _TRANSIENT umgehen . Um zum Beispiel die gesamte TCSTART-Verarbeitung zu überspringen , wenn Sie in einer Pipe oder in einer transienten Sitzung laufen, könnten Sie einen Befehl wie den folgenden am Anfang von TCSTART verwenden :
if %_pipe != 0 .or. %_transient != 0 quit
TCC Programm zur Beendigung
Wann immer eine TCC Sitzung endet, wird nach einem Programm namens TCEXIT gesucht. TCEXIT ist normalerweise eine Batch-Datei (.BAT, .BTM oder .CMD), kann aber auch eine beliebige ausführbare Datei sein. Der Speicherort dieses optionalen Programms wird durch die gleiche Regel bestimmt wie der Speicherort des TCSTART-Programms für die Sitzung und ist in den meisten Fällen nicht erforderlich. Es ist jedoch ein praktischer Ort, um Befehle zum Speichern von Informationen von einer Sitzung zur nächsten abzulegen, wie z. B. eine (Befehls-)Verlaufsliste vor TCC beendet wird, oder um das Ende der Sitzung zu protokollieren. Sie können ein Abbruchprogramm auch dann verwenden, wenn Sie kein Startprogramm haben.
An das Beendigungsprogramm werden keine Parameter übergeben.