@DATEI ÖFFNEN[Dateiname,r[ead]|w[rite]|a[ppend][,b|t]] : Öffnet die Datei im angegebenen Modus und gibt das Dateihandle zurück als ganze Zahl. Der optionale dritte Parameter steuert, ob die Datei im Binär- oder Textmodus geöffnet wird. Zum Lesen von Text sollte der Textmodus (Standardeinstellung) verwendet werden @FILEREAD ohne Längeund zum Schreiben von Text mit @FILEWRITE. Zum Lesen binärer Daten sollte der Binärmodus verwendet werden @FILEREAD mit Längeund zum Schreiben von Binärdaten mit @FILEWRITEB. Gibt -1 zurück, wenn die Datei nicht geöffnet werden kann.

 

Dateiname muss in Anführungszeichen stehen, wenn es Leerzeichen oder Sonderzeichen enthält. Um aus der Standardeingabe zu lesen, verwenden Sie MIT: für den Dateinamen.

 

Um eine Datei sowohl zum Lesen als auch zum Schreiben zu öffnen, öffnen Sie sie im Anhang Modus, dann verwenden @FILESEEK um am Anfang der Datei (oder an einem anderen gewünschten Ort) zu positionieren, bevor weitere Vorgänge ausgeführt werden.

 

@FILEOPEN kann auch benannte Pipes öffnen. Der Pipe-Name muss mit beginnen \\.\Rohr\. @FILEOPEN versucht zunächst, eine bestehende Pipe zu öffnen; Wenn dies fehlschlägt, wird versucht, eine neue Pipe zu erstellen. Pipes werden im Blockierungsmodus, im Duplexzugriff und im Bytelesemodus geöffnet und sind vererbbar. @FILEOPEN kehrt erst zurück, wenn ein anderer Prozess eine Verbindung zur Pipe herstellt. Weitere Informationen zu Named Pipes finden Sie in Ihrer Windows-Dokumentation.

 

@FILEOPEN kann Dateistreams auf NTFS-Laufwerken öffnen, wenn der Streamname angegeben wird. Sehen NTFS-Dateistreams Weitere Informationen zu Dateistreams finden Sie hier.

 

Sie müssen die Datei ausschließlich mit dem zurückgegebenen referenzieren Dateihandle, Und Sie muss die Datei schließen Verwendung der Dateihandle. Dies ist besonders wichtig, wenn Sie ein Batch-Programm debuggen, das verwendet @DATEI ÖFFNEN. Wenn Sie den Verdacht haben, dass Dateihandles geöffnet und nicht geschlossen wurden, sollten Sie neu starten TCC-RT.

 

Beispiele:

 

set h=%@fileopen["d:\path\myfile.txt",write]

echo schreibt %@filewrite[%h,das ist ein Test] Bytes

echo schließendes Handle #%h: %@fileclose[%h]

 

Siehe auch die zugehörigen Handle-basierten Funktionen:

 

@FILECLOSESchließen Sie ein Dateihandle
@FILEREADLiest die nächste Zeile aus einem Dateihandle
@FILESEEKVerschieben Sie einen Dateihandle-Zeiger
@FILESEEKLVerschieben Sie einen Dateihandle-Zeiger auf eine angegebene Zeile
@FILEWRITESchreiben Sie die nächste Zeile in ein Dateihandle
@FILEWRITEBDaten in ein Dateihandle schreiben
@KÜRZENSchneidet die Datei an der aktuellen Position des Dateihandle-Zeigers ab.