Per assegnare in modo automatico una lettera ad una share di rete è possibile utilizzare il comando:
NET USE *
Questo comando però in Windows XP parte da Z ad assegnare la lettera mentre su Windows 2000 parte dalla prima libera fino ad arrivare alla Z.
Se si vuole uniformare il comportamento è necessario uno script, che ha anche il pregio di forzare il tentativo in determinati range.
Di seguito uno script vbs e un batch tentare la mappatura sulle lettere X,Y,S
Dim letters, WshNetwork, Fso
letters = Array("X","Y","S")
Set WshNetwork=WScript.CreateObject("WScript.Network")
Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
For Each letter In letters
If (Not fso.DriveExists(letter)) Then
WshNetwork.MapNetworkDrive letter & ":", "\\ComputerName\ShareName"
Exit For
End If
Next
Set letters = Nothing
Set WshNetwork = Nothing
Set Fso = Nothing
Di seguito un batch tentare la mappatura sulle lettere X,Y,S
SETLOCAL
REM Search Letter
FOR %%l in (X Y S) DO (
IF NOT EXIST %%l: (
SET FirstAvailableDrive=%%l:
GOTO :EndSearchLetter
)
)
:EndSearchLetter
IF "%FirstAvailableDrive%" GTR "" (
NET USE %FirstAvailableDrive% \\ComputerName\ShareName /persistent:no
)
ENDLOCAL