LW-Buchstaben abhängig vom Vorhandensein einer Datei oder eines Ordners
Beispiel: Laufwerksbuchstabe A: wenn auf dem angeschlossenen Laufwerk die Datei \drive_a.id existiert
[DriveLetters]
FileExists=%Drive%\drive_a.id
Letter=A
So funktioniert das nur für USB-Laufwerke, wegen des Standardwertes BusType=USB.
Soll das auch für andere als USB-Laufwerke funktionieren, muss man nachhelfen:
[DriveLetters]
BusTypes=USB,FireWire,SCSI
FileExists=%Drive%\drive_a.id
Letter=A
Ab V4.2 können für die Datei Wildcards verwendet werden. Die Auswertung erfolgt dabei durch Windows - die Wildcards arbeiten somit abweichend von den USBDLM-internen Wildcards.
Es wird nur genau das angegebene Verzeichnis durchsucht, keine Unterverzeichnisse!
Beispiel zum Starten eines Bildbetrachters beim Auffinden mindestens einer JPG-Datei oder des Ordners "DCIM", wie er von allen Digitalkameras angelegt wird und "VideoPlayer" bei AVI und MPG:
[OnArrival]
FileExists=%Drive%\*.jpg
FileExists=%Drive%\DCIM
open="%ProgramFiles%\Bildbetrachter\Bildbetrachter.exe" %Root%
[OnArrival]
FileExists=%Drive%\*.avi
FileExists=%Drive%\*.mpg
FileExists=%Drive%\*.mpeg
open="%ProgramFiles%\VideoPlayer\VideoPlayer.exe" %Root%
Ab V4.3 kann auf Abwesenheit einer Datei (auch Verzeichnis) getestet werden (FileNotExists).
Beispiel zum Mounten eines TrueCrypt-Volumes auf X: falls X: frei ist:
[OnArrival]
DeviceType=TrueCrypt
FileNotExists=X:\
open="%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /v %PartitionName% /q /LX
FileExists und FileNotExist beziehen sich auf Dateien und Ordner. Ab V4.3 kann mit DirExists und DirNotExists auch gezielt auf einen Ordner abgefragt werden:
[OnArrival]
DeviceType=TrueCrypt
DirNotExists=X:\
open="%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /v %PartitionName% /q /LX
Zum Lesen der Datei muss das Dateisystem gemountet sein - das kann bei langsam antwortenden Laufwerken zu Verzögerungen führen, oder auch dazu, dass es gar nicht funktioniert.
Ab V4.6.9.2 kann die maximale Wartezeit in Millisekunden konfiguriert werden. Standard sind 6,5 Sekunden auf CD/DVD-Laufwerken und zwei Sekunden für alle anderen. Beispiel:
[DriveLetters]
FileTimeout=5000
FileExists=%Drive%\drive_a.id
Letter=A
FileTimeout ist für alle Datei-Kriterien des jeweiligen Abschnitts zuständig.