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

comprobar y eliminar varios archivos del servidor con fso

Estas en el tema de comprobar y eliminar varios archivos del servidor con fso en el foro de ASP Clásico en Foros del Web. hola, tengo un problema con "eliminar archivos" mediante fso quiero que se compruebe si existen 2 archivos en el servidor y si es así que ...
  #1 (permalink)  
Antiguo 28/09/2005, 03:38
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 19 años, 7 meses
Puntos: 0
comprobar y eliminar varios archivos del servidor con fso

hola,
tengo un problema con "eliminar archivos" mediante fso

quiero que se compruebe si existen 2 archivos en el servidor y si es así que los elimine. La ruta de los archivos se la doy con la dirección + un recordset que recoge de un formulario.

El problema es que si elimino la funcion "fileexist" funciona correctamente y elimina los dos archivos (siempre que existan, sinó da error), pero si intento comprobar si existen no me funciona.

este es el codigo:
--------------------------------------------------------
<%
Function BorrarArchivo(archivo)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

archivocast = "D:\XVRT\dominio.com\Html\pdfs\" & (Recordset1.Fields.Item("pdf").Value)
archivoeng = "D:\XVRT\dominio.com\Html\pdfs\" & (Recordset1.Fields.Item("pdf_english").Value)

if fso.FileExists(archivocast) then fso.DeleteFile(archivocast)
if fso.FileExists(archivoeng) then fso.DeleteFile(archivoeng)
Set fso = Nothing
End function
%>
--------------------------------------------------------

alguien podria ayudarme e indicarme el error.

gracias por adelantado

Alf
  #2 (permalink)  
Antiguo 28/09/2005, 10:06
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
Mmm... lo de que si le quitás el "FileExists" y si funciona, no le veo el sentido.
Igual, no entiendo ¿por qué usás una función si no estás devolviendo valores?
¿En este caso no convendría un SUB?
Además, ¿para qué le pasás un parámetro "archivo" si nunca lo usás?

Yo lo dejaría así:

Código:
<%
SUB BorrarArchivo(cast, eng)
	Dim fso, ruta
	ruta = "D:\XVRT\dominio.com\Html\pdfs\"

	Set fso = Server.CreateObject("Scripting.FileSystemObject")
		archivocast = ruta & cast
		archivoeng = ruta & eng
		if fso.FileExists(archivocast) then fso.DeleteFile(archivocast)
		if fso.FileExists(archivoeng) then fso.DeleteFile(archivoeng)
	Set fso = Nothing
End SUB

Call BorrarArchivo(Recordset1.Fields.Item("pdf").Value, Recordset1.Fields.Item("pdf_english").Value)
%>
(igual revisalo bien porque me pude haber confundido ya que no lo puse en ejecusión)
__________________
...___...
  #3 (permalink)  
Antiguo 28/09/2005, 11:21
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 19 años, 7 meses
Puntos: 0
Sonrisa hola de nuevo

hola,
antes que nada, gracias por contestar, llevo con el tema 2 dias y no hay manera...

si pongo el siguiente codigo (es diferente que el anterior) funciona correctamente, elimina los archivos (siempre que estos existan previamente)

<%
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
camino = "D:\XVRT\dominio.com\Html\pdfs\"
fso.DeleteFile( camino & (Recordset1.Fields.Item("pdf").Value))
fso.DeleteFile( camino & (Recordset1.Fields.Item("pdf_english").Value))
%>

el problema es que si uno de los 2 archivos que quiero eliminar "pdf" o "pdf_english" no esta subido al servidor o hay alguna inexactitud en el nombre, entonces da error. He intentado añadirle el "FileExist" para comprobar que existe, de la siguiente forma:

<%
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
camino = "D:\XVRT\dominio.com\Html\pdfs\"
If fso.FileExists(camino & (Recordset1.Fields.Item("pdf").Value))
Then fso.DeleteFile( camino & (Recordset1.Fields.Item("pdf").Value))
If fso.FileExists(camino & (Recordset1.Fields.Item("pdf_english").Value))
Then fso.DeleteFile( camino & (Recordset1.Fields.Item("pdf_english").Value))
%>

y asi no funciona. No da error pero no elimina los archivos del servidor.

¿¿¿...???
  #4 (permalink)  
Antiguo 30/09/2005, 01:40
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 19 años, 7 meses
Puntos: 0
hola,
gracias por contestar, lo he probado y no funciona ¿¿??

alguna idea
  #5 (permalink)  
Antiguo 30/09/2005, 03:36
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 19 años, 7 meses
Puntos: 0
si funciona

mil perdones, si funciona!!!!!

pero..., porque no funciona el otro codigo

un saludo
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 16:16.