FileInstall

Fügt eine bestimmte Datei in die kompilierte Version des Skripts ein.

FileInstall Quelle, Ziel , Überschreiben

Parameter

Quelle

Typ: Zeichenkette

Name einer einzelnen Datei, die in die kompilierte EXE-Datei eingefügt werden soll. Wenn kein absoluter Pfad angegeben ist, wird die Datei im (oder relativ zum) Arbeitsverzeichnis des Skripts vermutet.

Dieser Parameter muss eine in Anführungszeichen gesetzte, direkt geschriebene Zeichenkette sein (keine Variable oder ein anderer Ausdruck) und muss rechts neben dem Funktionsnamen FileInstall stehen (also nicht in einer Fortsetzungszeile darunter).

Ziel

Typ: Zeichenkette

Der Name einer Datei, die erstellt werden soll, wenn Quelle aus der EXE-Datei extrahiert wird. Wenn kein absoluter Pfad angegeben ist, wird die Datei im A_WorkingDir-Verzeichnis erstellt. Das Zielverzeichnis muss bereits existieren.

Überschreiben

Typ: Integer

Wenn weggelassen, wird standardmäßig 0 verwendet. Andernfalls geben Sie eine der folgenden Zahlen an, um festzulegen, ob bereits vorhandene Dateien überschrieben werden dürfen:

0: Vorhandene Dateien werden nicht überschrieben. Die Operation wird fehlschlagen und keinen Effekt haben, wenn Ziel bereits existiert.

1: Vorhandene Dateien werden überschrieben.

Andere Werte sind für zukünftige Zwecke reserviert.

Fehlerbehandlung

Bei Misserfolg wird eine Ausnahme ausgelöst.

Misserfolg ist, wenn die Datei nicht in das Ziel geschrieben werden kann. Zum Beispiel:

Bemerkungen

Wenn ein Aufruf dieser Funktion von Ahk2Exe während der Kompilierung des Skripts gelesen wird, wird Quelle zum resultierenden kompilierten Skript hinzugefügt. Wenn die kompilierte Skript-EXE später ausgeführt wird und die Ausführung die Zeile mit FileInstall erreicht, wird die Datei aus der EXE extrahiert und in Ziel geschrieben.

Dateien, die zu einem Skript hinzugefügt werden, werden während der Kompilierung nicht komprimiert oder verschlüsselt. Allerdings kann die kompilierte Skript-EXE via Ahk2Exe-Option komprimiert werden.

Wenn diese Funktion in einem normalen (unkompilierten) Skript verwendet wird, wird stattdessen eine einfache Dateikopie durchgeführt - dies hilft beim Testen von Skripten, die später kompiliert werden. Es geschieht nichts, wenn die vollständigen Pfade von Quelle und Ziel identisch sind, da der Versuch, die Datei auf sich selbst zu kopieren, zu einem Fehler führen würde. Die Pfade werden mit lstrcmpi verglichen, nachdem sie mit GetFullPathName erweitert wurden.

FileCopy, #Include

Beispiele

Fügt eine Textdatei in die kompilierte Version des Skripts ein. Wenn das kompilierte Skript später ausgeführt wird, wird die eingefügte Datei in ein anderes Verzeichnis mit einem anderen Dateinamen extrahiert. Wenn in diesem Verzeichnis bereits eine Datei mit diesem Namen existiert, wird diese überschrieben.

FileInstall "Meine Datei.txt", A_Desktop "\Beispieldatei.txt", 1