No puedo listar el contenido de un directorio compartido de la red en ASP
por ejemplo :
var ultimo="\\\\Sky_goes\\GVS1KM\\";
var fso;
var i=0;
fso = new ActiveXObject("Scripting.FileSystemObject");
if( fso.DriveExists(ultimo) ) {
f=fso.GetFolder(ultimo);
ff= new Enumerator(f.files);
for (i=0; !ff.atEnd(); ff.moveNext()){
texto=" "+ff.item();
if(texto.search("jpg")!=-1)
i++; //contar
imagenes jpg que estan en la maquina sky_goes, en el directorio GVS1KM
}
}
No funciona DriveExists>no encuentra dicha maquina.
Mas general por ejemplo:
if(fso.DriveExists("c:\\")) {
e = new Enumerator(fso.Drives); //Creación Enumerator en Drives.
for (;!e.atEnd();e.moveNext()) //Enumera colección drives.
{
x = e.item();
Response.Write( x.DriveLetter+" - ");
if(x.IsReady ){ //Comprueba si la unidad está lista.
if (x.DriveType == 3) //Comprueba si es unidad de red.
n = x.ShareName; //Obtiene el nombre del recurso compartido.
else {
n = "volumen name: " +x.VolumeName+" ";
n+= "espacio libre: "+x.FreeSpace / 1024+" ";
n+= "espacio total: "+x.TotalSize / 1024;
}
Response.Write( n + "<br>");
if(fso.FolderExists(x+"\\")) { //directorios
f = fso.GetFolder(x+"\\");
fc = new Enumerator(f.SubFolders);
s="";
Response.Write(f+"<br>");
for (; !fc.atEnd(); fc.moveNext()) {
s += " ";
s +=fc.item()+"<br>";
}
Response.Write(s);
}
}
else
Response.Write( "[La unidad no está lista]<br>");
}
}
Esto siempre reporta que las unidades que son directorios compartidos por la
red no estan disponible ("[La unidad no está lista]")
Leer las respuestas