Stimmt! Das mit FileExists wusste ich auch noch nicht. Man kann aber stattdessen "DriveGetType" benutzen:
[autoit]
Func _PartialDrive($sDeviceName=-1, $sTargetPath=-1, $iDelete=0)
If $sDeviceName = -1 And $iDelete = 0 Then
Local $j = 100
While DriveGetType(Chr($j) & ':')
$j += 1
If $j > 122 Then Return SetError(2,0,0)
WEnd
$sDeviceName = Chr($j) & ':'
ElseIf ($sDeviceName = -1 Or Not FileExists($sDeviceName)) And $iDelete = 1 Then
Return SetError(5,0,0)
EndIf
[...]
Edit: BugFix, mir ist gerade noch aufgefallen, dass man zum Löschen auch den Zielpfad angeben muss. Musste gerade ganz schön suchen, mit welchem Pfad ich das LW erstellt hatte (wollte nicht neu starten). Kann man den Aufruf auch so ändern, dass man nur den Buchstaben angeben kann?