Lenguaje de programación Visual Basic Script
Os mostramos cómo obtener la siguiente letra de unidad del equipo libre, para, por ejemplo, conectar una unidad de red utilizando esta letra. Este script VBS también mostrará las letras de unidad utilizadas actualmente.
Para ejecutar este código es suficiente con copiarlo a un fichero de texto plano (sin formato) y ponerle como extensión "vbs". Haciendo doble clic sobre el fichero se compilará automáticamente.
Esto es válido para sistemas operativos Windows XP, Windows Vista, Windows 2000 Server, Windows Server 2003, Windows Server 2008.
Set objDiccionario = CreateObject("Scripting.Dictionary")
dim nombreEquipo
dim objDisco
dim letraUnidad
dim unidadesOcupadas, unidadesOcupadasTexto
dim i
nombreEquipo = "."
Set objWMI = GetObject("winmgmts:\\" & nombreEquipo & "\root\cimv2")
Set unidadesActuales = objWMI.ExecQuery("Select * from Win32_LogicalDisk")
For Each objDisco in unidadesActuales
objDiccionario.Add objDisco.DeviceID, objDisco.DeviceID
Next
unidadLibre = ""
For i = 67 to 90
letraUnidad = Chr(i) & ":"
If objDiccionario.Exists(letraUnidad) Then
Else
unidadLibre = letraUnidad
Exit For
End If
Next
unidadesOcupadas = objDiccionario.Items
for i = 0 to ubound(unidadesOcupadas)
unidadesOcupadasTexto = unidadesOcupadasTexto & unidadesOcupadas(i)
Next
If unidadLibre = "" Then
msgbox ("No hay unidades libres o ha habido algún error.")
Else
msgbox ("Siguiente letra de unidad libre: " & unidadLibre & chr(13) & chr(13) & "Unidades ocupadas actualmente: " & unidadesOcupadasTexto)
End If
Publicado el: 2008-10-29