Schreibt den Text an das Ende
einer Datei (erstellt vorher die
Datei, wenn erforderlich)
FileAppend [, Text, Filename]
| Text |
Der Text der in die Datei geschrieben werden soll. Dieser Text kann Absatz-Zeichen enthalten (`n) um zu einer neuen Zeile zu springen. Zusätzlich kann ein langer Text mit Hilfe einer durchgehenden Sektion in mehrere Zeilen aufgespaltet werden. Wenn kein Text angegeben wird, wird Dateiname als leere Datei angelegt. (Sollte die Datei jedoch schon bestehen, wird das Änderungsdatum geändert). Wenn der Text die Variable %ClipboardAll% oder eine Variable enthält die vorher ClipboardAll enthalten hat, wird Dateiname mit dem Inhalt der Zwischenablage überschrieben (ein FileDelete ist vorher nicht notwendig). |
| Filename |
Der Name der Datei, in die der Text geschrieben werden soll, wird standardmäßig in %A_WorkingDir% angelegt, sofern ein absoluter Pfad nicht definiert ist. Binärmodus: Um den Text im Binärmodus, anstatt als Text anzulegen, setzen Sie dem Dateinamen einen Stern voran. Das bedeutet, dass jedes Absatzzeichen (`n) als Absatz geschrieben wird (LF) wie der Windows standard CR+LF. Als Beispiel: *C:\My Unix File.txt Wenn die Datei nicht bereits geöffnet ist (wie während einer Datei-Lesenden Schleife), wird die Datei automatisch im Binärmodus geöffnet, wenn der Text ein "Carriage return" und Absatzzeichenpaare (`r`n) enthält. Anders gesagt, die Asterisk (*) Option die vorher beschrieben wurde, wird automatisch aktiviert. Wie auch immer, das Definieren eines Asterisk, wenn der Text `r`n beinhaltet steigert die Geschwindigkeit des Scripts, da dieses in dem Text nicht mehr nach `r`n suchen muss. Standard
Ausgabe (stdout): Wird ein
Asterisk
(*) für den Dateinamen
definiert, so bedeutet das, dass
der Text
als Standard Ausgabe (stdout) gesendet wird. Dieser
Text kann dann in eine Datei geschrieben, per Pipe in eine andere .exe,
oder von Text
Editoren abgefangen
werden. Zum Beispiel würde das in einer jeden
Kommandozeile funktionieren: Wie auch immer, Text der
an Stdout gesendet wird, scheint
nicht in der Kommandozeile auf, von der er gesendet wurde. Dies kann
umgangen werden, wenn die Ausgabe des Scripts an ein anderes Programm
oder Kommando umgeleitet wird. Als Beispiel: |
ErrorLevel
ist 0 wenn kein
Fehler entstanden ist, ansonsten 1
Um eine Datei zu überschreiben, müssen Sie vorher die Datei per FileDelete löschen.
Die Zieldatei wird automatisch nach dem Anlegen des Textes wieder geschlossen (ausgenommen, wenn FileAppend als Parameter in einer Datei-Lesen/Schreiben Schleife angegeben wird).
FileRead,
Datei-Lesende
Schleife, FileReadLine,
IniWrite,
FileDelete,
OutputDebug,
durchgehende
Sektionen
FileAppend, Nächste Zeile`n, C:\Meine Dokumente\Test.txt
; Das folgende Beispiel zeigt eine durchgehende Sektion für eine bessere Lesbarkeit des Textes:
FileAppend,
(
Eine Zeile Text.
Standardmäßig wird ein Absatz (Enter) zwischen der vorherigen und dieser Zeile in die Datei geschrieben.
Diese Zeile wird eingerückt in die Datei geschrieben (z.B.: per Tab); Tabstops werden also standardmäßig auch in die Datei geschrieben.
Variablen wie z.B.: %Var% wird standardmäßig ausgeschrieben.
), C:\Meine Datei.txt
; Das folgende Beispiel zeigt, wie man mit dem eingebauten Ftp-Kommando das Hochladen von
; Dateien startet. Dieses Script wurde auf Windows XP und 98se getestet.
FTPScriptDatei = %A_ScriptDir%\FTPBefehle.txt
FTPLogDatei = %A_ScriptDir%\FTPLog.txt
FileDelete %FTPScriptDatei% ; Falls der vorherige Ablauf abgebrochen wurde.
FileAppend,
(
open host.domain.com
benutzername
passwort
binary
cd htdocs
put %VariableDieDenHochzuladendenDateinamenEnthält%
delete EineAndereDatei.htm
rename AlterDateiName.htm NeuerDateiName.htm
ls -l
quit
), %FTPScriptDatei%
RunWait %comspec% /c ftp.exe -s:"%FTPScriptDatei%" >"%FTPLogDatei%"
FileDelete %FTPScriptDatei% ; Löschen des FTP-Scripts wegen der Sicherheit
Run %FTPLogDatei% ; Zeigt die Logdatei zur Überprüfung