Foros del Web » Programando para Internet » ASP Clásico »

borrar archivos en el servidor

Estas en el tema de borrar archivos en el servidor en el foro de ASP Clásico en Foros del Web. mi pregunta es la siguiente quisiera saber como hago para que de un determinada carpeta me muestre los archivos que esta contiene en el servidor ...
  #1 (permalink)  
Antiguo 01/03/2006, 15:58
 
Fecha de Ingreso: enero-2005
Ubicación: Tucumán, Argentina
Mensajes: 57
Antigüedad: 20 años, 4 meses
Puntos: 0
Sonrisa borrar archivos en el servidor

mi pregunta es la siguiente quisiera saber como hago para que de un determinada carpeta me muestre los archivos que esta contiene en el servidor y me permita elegir lo que yo quiera y luego los borre definitivamente, saludos
  #2 (permalink)  
Antiguo 02/03/2006, 00:16
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Investiga acerca del FSO File System Object.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 02/03/2006, 07:46
Avatar de mmpigino  
Fecha de Ingreso: marzo-2006
Ubicación: Villa Dolores, en el centro de Argentina
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
Buenas te paso un par de datos...

primero vas a ver que carpetas tienes dentro de una direccion de terminada, por ejemplo las que yo puse es dentro de la carpeta galeria y dentro de esta la carpeta imagenes, me tiene que listar todas las subcarpetas que tiene la carpeta imagenes. y le coloca un link para cuando la selecciono me lleve directamente a la carpeta elegida, a traves de la pagina que la llamo listado.asp, donde me va a mostrar todos los archivos que alli existan, cuando este dentro de la pagina listado.asp, que te detallaré mas abajo, podras de igual forma seleccionarlas para ver el archivo, en este caso se trata de imagenes, o seleccionarlo para ser borrado.
con esto lo ves :

<%
Dim objFSO,objFile,objFolder,objSubFolder
Set objFSO = server.CreateObject ("Scripting.FileSystemObject")
'set objFolder=objFSO.GetFolder(server.MapPath ("\galeria/imagenes/") )
%>
<p align="center">&nbsp;</p>
<p align="center"><b><font face="Arial" color="#000000" size="4">Listado de Carpetas en :</font></b></p>
<%
' lista las carpetas que existen
for each objSubFolder in objFolder.SubFolders
if objSubFolder="_vti_cnf" then%>
<p align="center">
<%Else%>
<p align="center"><font face="Arial Narrow"><b><a href="listado.asp?order=<%=objSubFolder.Name%>"><f ont face="Arial" size="2"><%=UCASE(objSubFolder.Name)%></font></a></b>
<%end if%>
<%
Next
%>


----- Listado.asp -------

<%
dim folder
folder=Request("order")
Dim objFSO,objFile,objFolder,objSubFolder
Set objFSO = server.CreateObject ("Scripting.FileSystemObject")
set objFolder=objFSO.GetFolder(server.MapPath ("\galeria/imagenes/"& folder &" "))

'lee cada archivo dentro de la carpeta seleccionada
%>
<p align="center">&nbsp;</p>
<p align="center"><b><font face="Arial" color="#000000">Listado de Imágenes
contenidas en Carpeta :&nbsp;<font face="Arial"><%=objFolder.Name%></font> </font></b>

<p align="center">

<div align="center">
<center>
<table border="1" width="450" bordercolor="#808080" cellspacing="0" cellpadding="0" bgcolor="#C0C0C0">
<tr>
<td width="33%" align="center" height="25" bgcolor="#9900CC"><font face="Arial" color="#FFFFFF" size="2">Nombre
Imagen</font></td>
<td width="33%" align="center" height="25" bgcolor="#9900CC"><font face="Arial" color="#FFFFFF" size="2">Visualizar</font></td>
<td width="34%" align="center" height="25" bgcolor="#9900CC"><font face="Arial" color="#FFFFFF" size="2">Eliminar</font></td>
</tr>
</table>
</center>
</div>
<div align="center">
<center>
<table border="1" width="450" cellspacing="0" cellpadding="0" bordercolor="#9900CC">
<%for each objFile in objFolder.files %>
<tr>
<td width="33%" align="center" style="border: 1 solid #EAEAEA"><font face="Arial" size="2" color="#666666"><%=objFile.Name%></font></td>
<td width="33%" align="center" style="border-top: 1 solid #EAEAEA; border-bottom: 1 solid #EAEAEA"><a href="ver_img.asp?id=<%=objFile.Name%>" target="principal"><font face="Arial" size="2" color="#000080">Visualizar</font></a></td>
<td width="34%" align="center" style="border: 1 solid #EAEAEA"><a href="delet.asp?id=<%=objFile.Name%>" target="_top"><font face="Arial" size="2" color="#800000">Eliminar</font></a></td>
<% next %>
</tr>

</table>
</center>
</div>
</BODY>
</HTML>


------- en ell caso que elijas borrar el archivo se procede asi, que le llamo a la pagina delet.asp

<%dim file
file=Request.QueryString ("id")
dim folder
folder=Request("order")

Dim objFSO,objFile,objFolder,objSubFolder
Set objFSO = server.CreateObject ("Scripting.FileSystemObject")
set objFolder=objFSO.GetFolder(server.MapPath ("\galeria/imagenes/"& folder &" "))
%>
<P>&nbsp;</P>
<%for each objFile in objFolder.files
if objFile.Name = file then
objFile.Delete%>
<%end if
next %>
<p align="center"><b>La Imagen
<%=file%> fué eliminada de la Carpeta
<%=folder%>
<font face="Arial" color="#FFFFFF" size="3">

<a href="listado.asp?order=<%=folder%>" target="_top"><b>Presione aquí
para retornar</a>




Espero te sirva
Saludos

Mario
  #4 (permalink)  
Antiguo 02/03/2006, 07:49
Avatar de mmpigino  
Fecha de Ingreso: marzo-2006
Ubicación: Villa Dolores, en el centro de Argentina
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
Me parece que como COLABORADOR debes dar un poco mas de ayuda o herramientas para el que pregunta algo.

Una simple observación !

Mario
  #5 (permalink)  
Antiguo 02/03/2006, 10:14
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Es verdad, anoche estaba con un poco de prisa porque tenía que ir a planchar(oreja) y pensé que con el viejo truco del buscador sería suficiente, veo que no fué así, tomaré en cuenta tu observación!

Saludos!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 02/03/2006, 10:41
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
A mi me pareció correcta la respuesta de u_g

ñ_ñ


Por cierto, mmpigino, para borar un solo archivo no hace falta recorrer todos los archivos de una carpeta.
A manera de ejemplo...


Código:
file=Request.QueryString ("id")
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(Server.MapPath(file)) Then
FSO.DeleteFile(Server.MapPath(file))
End if
__________________
...___...
  #7 (permalink)  
Antiguo 04/03/2006, 06:57
Avatar de mmpigino  
Fecha de Ingreso: marzo-2006
Ubicación: Villa Dolores, en el centro de Argentina
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
Che U_Goldman, no te deschaves asi, pensaba que era sólo yo al que mandaban a planchar... JiJi... entre otras, los platos, lavar, que vida la de casado !!
  #8 (permalink)  
Antiguo 04/03/2006, 07:02
Avatar de mmpigino  
Fecha de Ingreso: marzo-2006
Ubicación: Villa Dolores, en el centro de Argentina
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
Te entiendo Al Zuwaga, por cierto tu observación es precisa, pero eso es el caso de que sepas que existe el archivo, pero ciando no lo es, no queda otra que listarlos a todos y elegirlo para borrar, es lo que pense que La BestiaPop pedía, pero buena tu acotación
Un Abrazo
  #9 (permalink)  
Antiguo 05/03/2006, 01:06
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 6 meses
Puntos: 16
para entender algo mas de FSO si mal no recuerdo en las faqsdelweb hb ian uunos articulos interesantes al respecto... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #10 (permalink)  
Antiguo 05/03/2006, 14:20
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Cita:
Iniciado por mmpigino
Te entiendo Al Zuwaga, por cierto tu observación es precisa, pero eso es el caso de que sepas que existe el archivo, pero ciando no lo es, no queda otra que listarlos a todos y elegirlo para borrar, es lo que pense que La BestiaPop pedía, pero buena tu acotación
Un Abrazo

No entendiste, me refiero a que en tu código estás recorriendo todos los archivos para eliminar sólo uno cuando eso no es necesario para nada.

Acá:
Código:
------- en ell caso que elijas borrar el archivo se procede asi, que le llamo a la pagina delet.asp

<%dim file
file=Request.QueryString ("id")
...
Set objFSO = server.CreateObject ("Scripting.FileSystemObject")
...
for each objFile in objFolder.files
if objFile.Name = file then
objFile.Delete%>
<%end if
next %>
__________________
...___...
  #11 (permalink)  
Antiguo 05/07/2006, 08:56
 
Fecha de Ingreso: junio-2006
Mensajes: 80
Antigüedad: 18 años, 10 meses
Puntos: 0
Pregunta borrar un archivo

[/code]

<%dim file
file=Request.QueryString ("id")
...
Set objFSO = server.CreateObject ("Scripting.FileSystemObject")
...
for each objFile in objFolder.files
if objFile.Name = file then
objFile.Delete%>
<%end if
next %>[/CODE]

hola, estoy usando este codigo de Al_Zuwaga, pero me tira el error de se requiere un objeto. En definitiva, no se bien como es la sintaxis del FSO, pero necesito el script que elimine del servidor el archivo id=x. Una preguntonta, necesito ulgun script extra como en el caso del upload, con el xelupload???
muchas gracias
  #12 (permalink)  
Antiguo 26/07/2006, 08:49
 
Fecha de Ingreso: julio-2006
Mensajes: 1
Antigüedad: 18 años, 9 meses
Puntos: 0
Buenas a tos

me parece muy interesante el codigo que usa mmpigino pero, como hago para ver crear ver_img.asp y poder visualizar mi imagen.
Gracias



Cita:
Iniciado por mmpigino
Buenas te paso un par de datos...

primero vas a ver que carpetas tienes dentro de una direccion de terminada, por ejemplo las que yo puse es dentro de la carpeta galeria y dentro de esta la carpeta imagenes, me tiene que listar todas las subcarpetas que tiene la carpeta imagenes. y le coloca un link para cuando la selecciono me lleve directamente a la carpeta elegida, a traves de la pagina que la llamo listado.asp, donde me va a mostrar todos los archivos que alli existan, cuando este dentro de la pagina listado.asp, que te detallaré mas abajo, podras de igual forma seleccionarlas para ver el archivo, en este caso se trata de imagenes, o seleccionarlo para ser borrado.
con esto lo ves :

<%
Dim objFSO,objFile,objFolder,objSubFolder
Set objFSO = server.CreateObject ("Scripting.FileSystemObject")
'set objFolder=objFSO.GetFolder(server.MapPath ("\galeria/imagenes/") )
%>
<p align="center">&nbsp;</p>
<p align="center"><b><font face="Arial" color="#000000" size="4">Listado de Carpetas en :</font></b></p>
<%
' lista las carpetas que existen
for each objSubFolder in objFolder.SubFolders
if objSubFolder="_vti_cnf" then%>
<p align="center">
<%Else%>
<p align="center"><font face="Arial Narrow"><b><a href="listado.asp?order=<%=objSubFolder.Name%>"><f ont face="Arial" size="2"><%=UCASE(objSubFolder.Name)%></font></a></b>
<%end if%>
<%
Next
%>


----- Listado.asp -------

<%
dim folder
folder=Request("order")
Dim objFSO,objFile,objFolder,objSubFolder
Set objFSO = server.CreateObject ("Scripting.FileSystemObject")
set objFolder=objFSO.GetFolder(server.MapPath ("\galeria/imagenes/"& folder &" "))

'lee cada archivo dentro de la carpeta seleccionada
%>
<p align="center">&nbsp;</p>
<p align="center"><b><font face="Arial" color="#000000">Listado de Imágenes
contenidas en Carpeta :&nbsp;<font face="Arial"><%=objFolder.Name%></font> </font></b>

<p align="center">

<div align="center">
<center>
<table border="1" width="450" bordercolor="#808080" cellspacing="0" cellpadding="0" bgcolor="#C0C0C0">
<tr>
<td width="33%" align="center" height="25" bgcolor="#9900CC"><font face="Arial" color="#FFFFFF" size="2">Nombre
Imagen</font></td>
<td width="33%" align="center" height="25" bgcolor="#9900CC"><font face="Arial" color="#FFFFFF" size="2">Visualizar</font></td>
<td width="34%" align="center" height="25" bgcolor="#9900CC"><font face="Arial" color="#FFFFFF" size="2">Eliminar</font></td>
</tr>
</table>
</center>
</div>
<div align="center">
<center>
<table border="1" width="450" cellspacing="0" cellpadding="0" bordercolor="#9900CC">
<%for each objFile in objFolder.files %>
<tr>
<td width="33%" align="center" style="border: 1 solid #EAEAEA"><font face="Arial" size="2" color="#666666"><%=objFile.Name%></font></td>
<td width="33%" align="center" style="border-top: 1 solid #EAEAEA; border-bottom: 1 solid #EAEAEA"><a href="ver_img.asp?id=<%=objFile.Name%>" target="principal"><font face="Arial" size="2" color="#000080">Visualizar</font></a></td>
<td width="34%" align="center" style="border: 1 solid #EAEAEA"><a href="delet.asp?id=<%=objFile.Name%>" target="_top"><font face="Arial" size="2" color="#800000">Eliminar</font></a></td>
<% next %>
</tr>

</table>
</center>
</div>
</BODY>
</HTML>


------- en ell caso que elijas borrar el archivo se procede asi, que le llamo a la pagina delet.asp

<%dim file
file=Request.QueryString ("id")
dim folder
folder=Request("order")

Dim objFSO,objFile,objFolder,objSubFolder
Set objFSO = server.CreateObject ("Scripting.FileSystemObject")
set objFolder=objFSO.GetFolder(server.MapPath ("\galeria/imagenes/"& folder &" "))
%>
<P>&nbsp;</P>
<%for each objFile in objFolder.files
if objFile.Name = file then
objFile.Delete%>
<%end if
next %>
<p align="center"><b>La Imagen
<%=file%> fué eliminada de la Carpeta
<%=folder%>
<font face="Arial" color="#FFFFFF" size="3">

<a href="listado.asp?order=<%=folder%>" target="_top"><b>Presione aquí
para retornar</a>




Espero te sirva
Saludos

Mario
  #13 (permalink)  
Antiguo 15/08/2006, 08:07
 
Fecha de Ingreso: agosto-2006
Mensajes: 4
Antigüedad: 18 años, 8 meses
Puntos: 0
Y para editar una imagen

Hola amix como puedo hacer para editar una imagen la verdad soy nuevo pero me encata progrmar como podria hacer para edtar teniendo un id principal.Gracias porfis si alguien me podria ayudar es urgente el codigo POrfisss

Última edición por jandro_jandro; 15/08/2006 a las 08:17 Razón: URGENCIA
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:02.