No puedo listar el contenido de un directorio compartido de la red en ASP

13/01/2004 - 15:58 por orestes | Informe spam
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 += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
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

#1 Jhonny Vargas P. [MS MVP]
13/01/2004 - 19:22 | Informe spam
Debes ir a las propiedades de la carpeta (pero en la máquina original, no
donde tienes el IIS) y debes darle permisos a los usuarios
IWAM_NOMBRESERVIDOR e IUSR_NOMBRESERVIDOR, deben ser con el nombre del
Servidor WEB, no el de la misma máquina.


Saludos,
Jhonny Vargas P. [MS MVP-ASP]
Santiago de Chile
Sitio MVPs Chile http://www.mvp.cl


"orestes" escribió en el mensaje
news:
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 += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
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]")


Preguntas similares