Página 1 de 1

Identificar unidades de disco y particionadas de windows

Publicado: 08 May 2014, 15:53
por yasmany
Hola una vez más, sucede que con la ayuda que me han venido brindado he logrado algunas cosas que para mi son muy significativas.
En esta ocacion y como siempre tengo inconvenientes, en el siguiente codigo realizo lo siguiente:
1 - Detecto todas las unidades de windows que esten READY
2 - Evito que me muestre la unidad de instalación de Windows

El objetivo en si y que aun no he podido lograr es, ¿Como puedo lograr que no me identifique las particiones de windows pero que si me identifique cuando este ingresado una unidad externa/RAC ?
Solo que identifique unidades extraibles PenDrive y Discos Externos
Aquí el codigo :smt024

Código: Seleccionar todo

$val = DriveGetDrive("ALL")
If Not @error Then

	For $count = 1 To $val[0]
		If DriveStatus($val[$count]) <> "READY" Then

		Else
			;¿Como puedo obviar que me detecte las particiones?
			;Ya que solo deseo que detecte Unidades extraibles sean Flash o Discos externos
			If $val[$count] <> @HomeDrive Then ; especifico que no debe mostrar la letra de la unidad donde se encuentra instalado Windows
				$resultado = StringUpper(DriveGetLabel($val[$count]) & "(" & $val[$count] & ")")
				ConsoleWrite($resultado & @CRLF)
			EndIf
			
		EndIf
	Next
EndIf
Espero su gentil ayuda... :smt024

Re: Identificar unidades de disco y particionadas de windows

Publicado: 08 May 2014, 23:37
por Dany
usa DriveGetType.

Saludos

Re: Identificar unidades de disco y particionadas de windows

Publicado: 08 May 2014, 23:57
por yasmany
Lo he usado pero no diferecia entre una unidad que posee windows entre la unidad externa recientemente introducida, me da el mismo valor de FIXED.
De seguro hay otra forma, talvez leyendo algun archivo donde registre solo las unidades propias de windows y sus particiones.
Pero hasta el momento aun no encuentro. :smt024

Re: Identificar unidades de disco y particionadas de windows

Publicado: 09 May 2014, 09:09
por chekok
Has probado con:

Código: Seleccionar todo

DriveGetDrive("REMOVABLE")
Así solo te muestra las unidades extraibles tales como USB o Tarjetas de memoria.

ejecuta este código y verifica que te devuelve solo las letras de unidad de las unidades extraibles.

Código: Seleccionar todo

#include <MsgBoxConstants.au3>

Local $aArray = DriveGetDrive("REMOVABLE")
For $i = 1 To $aArray[0]
	  MsgBox($MB_SYSTEMMODAL, "", "Drive " & $i & "/" & $aArray[0] & ":" & @CRLF & StringUpper($aArray[$i]))
Next

Re: Identificar unidades de disco y particionadas de windows

Publicado: 09 May 2014, 15:27
por Dany
Lol quise decir DriveGetDrive. :smt017

saludos

Re: Identificar unidades de disco y particionadas de windows

Publicado: 09 May 2014, 15:34
por yasmany
Gracias por responder, pero con el code que me brindas solo obtengo las unidades extraibles, Flash/MicrosSD entre ellos y otros, pero lo que quiero lograr es que me identifique tambien las unidades de disco externas que haya introducido AQUELLAS QUE SON de 1TB de media Tera ENTRE OTROS, pero obviando las que por defecto y sus particiones ya tiene Windows.
Por ello puse en el codigo anterior @HomeDrive para que si en caso que sea aquella unidad no me la muestre.
Disculpen las molestias, habrá otra forma? :smt024