FileSelectFolder

Zeigt ein Standarddialogfenster an, mit dem der Benutzer einen Ordner auswählen kann.

FileSelectFolder, AusgabeVar , StartOrdner, Optionen, Anzeigetext

Parameter

AusgabeVar

Name der Ausgabevariable, in der der ausgewählte Ordner gespeichert werden soll. Diese Variable wird leer gemacht, wenn der Benutzer das Dialogfenster abbricht (also keinen Ordner auswählen möchte). Wenn der Benutzer ein Stammverzeichnis auswählt (z.B. C:\), endet der Wert in AusgabeVar mit einem umgekehrten Schrägstrich. Falls das unerwünscht ist, kann der Schrägstrich wie folgt entfernt werden:

FileSelectFolder, Ordner
Ordner := RegExReplace(Ordner, "\\$")  ; Entfernt den umgekehrten Schrägstrich am Ende, falls vorhanden.
StartOrdner

Wenn leer oder weggelassen, beginnt die Navigation standardmäßig im Ordner "Dokumente" des Benutzers oder evtl. "Dieser PC" (ehemals Arbeitsplatz oder Computer). Ein CLSID-Ordner wie ::{20D04FE0-3AEA-1069-A2D8-08002B30309D} (Dieser PC) kann angegeben werden, um die Navigation in einem bestimmten Spezialordner zu beginnen.

Andernfalls wird dieser Parameter hauptsächlich verwendet, um ein Sternchen einzufügen und direkt danach den absoluten Pfadnamen des Laufwerks oder Ordners anzugeben, der vorab ausgewählt sein soll. Zum Beispiel würde *C:\ vorab das C-Laufwerk auswählen und *C:\Mein Ordner vorab diesen konkreten Ordner auswählen.

Das Sternchen bewirkt, dass der Benutzer vom Startordner aus nach oben (näher zum Stammverzeichnis) navigieren darf. Ohne Sternchen wäre der Benutzer gezwungen, einen Ordner innerhalb von StartOrdner (oder StartOrdner selbst) auszuwählen. Das Weglassen des Sternchens hat z.B. den Vorteil, dass StartOrdner zu Beginn im aufgeklappten Zustand angezeigt wird, was dem Benutzer das Anklicken des ersten Pluszeichens erspart.

Wenn das Sternchen vorhanden ist, kann die Aufwärtsnavigation optional auf einen anderen Ordner als den Desktop beschränkt werden. Stellen Sie dem Sternchen einfach den absoluten Pfad des obersten Ordners voran, gefolgt von genau einem Leer- oder Tabulatorzeichen. Zum Beispiel würde C:\Mein Ordner *C:\Mein Ordner\Projekte dem Benutzer verbieten, höher als C:\Mein Ordner zu navigieren (allerdings wäre C:\Mein Ordner\Projekte vorab ausgewählt).

Optionen

Wenn leer oder weggelassen, wird standardmäßig 1 verwendet. Andernfalls geben Sie eine der folgenden Zahlen an:

0: Keine der folgenden Optionen ist wirksam (in Windows 2000 könnte dennoch die Schaltfläche "Neuer Ordner" angezeigt werden).

1: Zeigt eine Schaltfläche an, die der Benutzer zum Erstellen neuer Ordner verwenden kann.

Addieren Sie 2 zur obigen Zahl, um ein Eingabefeld anzuzeigen, das der Benutzer zum Eintragen eines Ordnernamens verwenden kann. Wenn dieser Parameter z.B. 3 ist, wird sowohl ein Eingabefeld als auch die Schaltfläche "Neuer Ordner" angezeigt.

[v1.0.48+]: Addieren Sie 4 zur obigen Zahl, um die Eigenschaft BIF_NEWDIALOGSTYLE zu entfernen. Dadurch wird sichergestellt, dass FileSelectFolder auch in einer vorinstallierten Umgebung wie WinPE oder BartPE funktioniert, verhindert aber, zumindest unter Windows XP, dass die Schaltfläche "Neuer Ordner" angezeigt wird.

Wenn der Benutzer einen ungültigen Ordnernamen in das Eingabefeld einträgt, wird, zumindest unter Windows XP, AusgabeVar auf den im Navigationsbereich ausgewählten Ordner gesetzt, nicht auf den vom Benutzer eingetragenen Text.

Dieser Parameter kann ein Ausdruck sein.

Anzeigetext

Wenn leer oder weggelassen, wird standardmäßig Select Folder - %A_ScriptName% (der Name des aktuellen Skripts) verwendet. Andernfalls geben Sie den Text an, der im Fenster angezeigt wird, um dem Benutzer mitzuteilen, was zu tun ist.

Fehlerbehandlung

[v1.1.04+]: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter Laufzeitfehler.

ErrorLevel wird auf 1 gesetzt, wenn der Benutzer das Dialogfenster geschlossen hat, ohne einen Ordner ausgewählt zu haben (z.B. durch Drücken der Schaltfläche "Abbrechen"), oder wenn das Betriebssystem sich weigert, das Dialogfenster anzuzeigen (selten). Andernfalls wird es auf 0 gesetzt.

Bemerkungen

Ein typisches Ordnerauswahlfenster sieht wie folgt aus:

FileSelectFolder

Ein GUI-Fenster kann via Gui +OwnDialogs ein modales Ordnerauswahlfenster anzeigen. Ein modales Dialogfenster hindert den Benutzer daran, mit dem GUI-Fenster zu interagieren, bis er das Dialogfenster wieder schließt.

FileSelectFile, MsgBox, InputBox, ToolTip, GUI, CLSID-Liste, FileCopyDir, FileMoveDir, SplitPath

Das Betriebssystem stellt außerdem Standarddialogfenster bereit, die der Benutzer zum Auswählen einer Schriftart, einer Farbe oder eines Symbols verwenden kann. Solche Dialogfenster können via DllCall() angezeigt werden, wie auf GitHub gezeigt.

Beispiele

Ermöglicht dem Benutzer die Auswahl eines Ordners und stellt sowohl ein Eingabefeld als auch die Schaltfläche "Neuer Ordner" bereit.

FileSelectFolder, AusgabeVar, , 3
if (AusgabeVar = "")
    MsgBox, Keinen Ordner ausgewählt.
else
    MsgBox, Ordner "%AusgabeVar%" ausgewählt.

Ein CLSID-Beispiel. Ermöglicht dem Benutzer die Auswahl eines Ordners in Dieser PC (ehemals Arbeitsplatz oder Computer).

FileSelectFolder, AusgabeVar, ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}