elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [VBS][AYUDA] Montar y Desmontar particion NFTS
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [VBS][AYUDA] Montar y Desmontar particion NFTS  (Leído 1,993 veces)
danny920825

Desconectado Desconectado

Mensajes: 175


Ver Perfil WWW
[VBS][AYUDA] Montar y Desmontar particion NFTS
« en: 15 Marzo 2014, 01:30 am »

Hola a todos, me gustaria saber si es posible y de paso un norte en cuanto a lo siguiente:
tengo un PC con 3 particiones (C:\, D:\, Z:\) las 3 NTFS y en Z es donde guardo mis cosas, pero me gustaria saber si puedo crear un script que le quite automaticamente la letra a la unidad y otro que me la asigne. Ya que seria algo tedioso estar yendo al administrador de discos logicos y desmontar/montar la unidad cada vez que yo vaya a usarla.


En línea

"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: [VBS][AYUDA] Montar y Desmontar particion NFTS
« Respuesta #1 en: 15 Marzo 2014, 12:30 pm »

MSDN explica una solución a este problema utilizando el proceso "MountVol" ~> http://blogs.msdn.com/b/alejacma/archive/2010/03/17/how-to-change-drive-letters-vbscript.aspx

He modificado un poco el Snippet y he tomado parte del código para añadir el Método que desmonta la unidad (más abajo):
Código
  1. Sub ChangeDriveLetter(SourceDrive, TargetDrive)
  2.  
  3.    Set WSS = WScript.CreateObject("WScript.Shell")
  4.  
  5.    If Not Right(SourceDrive, 1) = ":" Then
  6.     SourceDrive = SourceDrive & ":"
  7.    End If
  8.    If Not Right(TargetDrive, 1) = ":" Then
  9.     TargetDrive = TargetDrive & ":"
  10.    End If
  11.  
  12.    ' Get volume associated to the old drive letter.
  13.    Set Exec  = WSS.Exec("mountvol.exe " & SourceDrive & " /L")
  14.    strVolume = Trim(Exec.StdOut.ReadLine())
  15.    while Exec.Status = 0 : WScript.Sleep(100) : Wend
  16.  
  17.    ' Unmount the drive.
  18.    Set Exec = WSS.Exec("mountvol.exe " & SourceDrive & " /D")
  19.    while Exec.Status = 0 : WScript.Sleep(100) : Wend
  20.  
  21.    ' Mount the drive on the new drive letter.
  22.    Set Exec = WSS.Exec("mountvol.exe " & TargetDrive & " " & strVolume)
  23.    while Exec.Status = 0 : WScript.Sleep(100) : Wend
  24.  
  25. End Sub

Código
  1. Sub UnmountDrive(DriveLetter)
  2.  
  3.    Set WSS = WScript.CreateObject("WScript.Shell")
  4.  
  5.    If Not Right(DriveLetter, 1) = ":" Then
  6.     DriveLetter = DriveLetter & ":"
  7.    End If
  8.  
  9.    ' Unmount the drive.
  10.    Set Exec = WSS.Exec("mountvol.exe " & DriveLetter & " /D")
  11.    while Exec.Status = 0 : WScript.Sleep(100) : Wend
  12.  
  13. End Sub


Ejemplos de uso:

Código:
ChangeDriveLetter "Z", "X"
Código:
UnmountDrive "Z"


Saludos.


En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema al no poder desmontar una particion
GNU/Linux
Alejakaiser9 2 2,052 Último mensaje 20 Agosto 2018, 15:00 pm
por Alejakaiser9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines