Ver Mensaje Individual
  #19 (permalink)  
Antiguo 02/10/2009, 18:28
Moleman
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 19 años
Puntos: 0
Respuesta: Renombrar todos los archivos de una carpeta

Acabo de probar como dices, Adler, empezando de cero. He creado un nuevo archivo asp, he creado una ruta nueva en el root, e incluso le he puesto los mismos nombres que vienen en el script ("/Sitios/MisPruebas/Rename/"). He comprobado que la carpeta y los archivos estén en el mismo nivel... e incluso en varios niveles distintos, por probar que no quede. Y con este código siempre me devuelve el siguiente error:

Error de Microsoft VBScript en tiempo de ejecución (0x800A0046)
Permiso denegado
/sitios/Sitios/MisPruebas/Rename/prueba.asp, línea 20

Y he establecido permisos de lectura, escritura y ejecución de scripts... De hecho, consigo siempre localizar la ruta correcta, efectuar listado de carpetas, etc, pero la línea 20 siempre da fallo, la que corresponde a fso.MoveFile.

No entiendo, la verdad.

Con mi código sí que consigo que funcione, que no me de errores de permisos, pero me crea más de un bucle, no sé por qué.

Pongo el código que uso, para que lo veáis... y que lo aproveche el que pueda:

<%

ruta = server.mappath("/intranet/pruebas")

Response.Write("<h1>RUTA: " & ruta & "</h1>")

Set fso = CreateObject("Scripting.FileSystemObject")
Set carpeta = fso.GetFolder(ruta)
for each subcarpeta in carpeta.subFolders
Response.Write("<h1>CARPETA: " & subcarpeta.Name & "</h1>")

%>

<%

xnumero = 1

For Each archivo in subcarpeta.files

archivo.name = "nuevonombre_" & archivo.Name

Response.Write xnumero & ". " & archivo.Name & "<br>"

xnumero = xnumero +1

Next

Response.Write "<br><b>TOTAL ARCHIVOS: " & xnumero -1 & "</b>"

%>

<%

next
set carpeta = nothing
set fso = nothing

%>

Saludos y gracias una vez más.