Hola Rossana, mirá lo que se me ocurre es hacer algo como esto
directory() te devuelve .t. ó .f. si el directorio existe en la máquina
entónces podés hacer
IF directory("C:\")
Aquí poné el código para agregar "C:" a un combo, listbox o lo que se te ocurra
y así sucesivamente con d:, e: hasta z:, obviamente que solamente van a devolver .t.
las unidades que existan.
Que tal amiga Rossana :
Atendiendo tu pregunta tu deseas mostrar las unidades o Drikes externos para realizar tus Copias pues si es asi se me ocurre que podria crearse un COMBOBOX que muestre todas las unidades y ahi se elija la unidad correcta.
Aqui un ejemplo codificado de lo que te menciono.
Evento INIT
******************************************
* Mostras la Unidades
******************************************
Local lnCount
With.Thisform
FOR lnCount = 65 To 90
.Combo1.AddItem(CHR(lnCount))
.Combo1.ListIndex = 1
EndFor
EndWith
********************************************
* Para identificar las unidades
*******************************************
FUNCTION ListDrives()
LOCAL ln, lnTipo
FOR ln = 65 TO 92
lnTipo = DRIVETYPE(CHR(ln))
DO CASE
CASE lnTipo = 1
*--- Ningún tipo
CASE lnTipo = 2
? CHR(ln)+": Disquete"
CASE lnTipo = 3
? CHR(ln)+": Disco duro"
CASE lnTipo = 4
? CHR(ln)+": Unidad de red o unidad extraible "
CASE lnTipo = 5
? CHR(ln)+": CD-ROM"
CASE lnTipo = 6
? CHR(ln)+": Disco RAM"
ENDCASE
ENDFOR
RETURN ""
ENDFUNC
Bueno amiga espero haber contribuido en algo a resolver tu inquietud.