Este artículo presenta principalmente el método alternativo para los permisos insuficientes de la función de movimiento de archivos ASP. Este artículo primero presenta un método alternativo y luego descubre el motivo real.
Estoy trabajando en un proyecto estos días, que consiste en escribir una declaración para mover todos los archivos de la unidad D a la unidad E. Es bueno probarlo en el entorno XP local.
Sin embargo, después de colocarlo en el servidor de Windows 2003, indica que los permisos son insuficientes.
El directorio de mi sitio web IIS está ubicado en la unidad D, y la unidad E es solo un volumen recién agregado. Algunos archivos son muy grandes y hay muchos, pero la unidad D no es suficiente, así que se me ocurrió esta estrategia.
Después de buscar en Baidu, muchos de estos problemas no son más que aumentar los permisos de la unidad E o usar la unidad E como directorio virtual.
Pero no funciona y el recordatorio sigue ahí. La única diferencia es que uso un volumen dinámico, mientras que en XP es un volumen básico no quiero cambiar el volumen.
Finalmente encontré el siguiente método:
Al utilizar el archivo movefile de fso, no habrá permisos suficientes, por lo que el código no se podrá ejecutar.
Por lo tanto, utilice copiar archivo y luego eliminar archivo para evitar problemas innecesarios.
Ahora mismo:
Copie el código de código de la siguiente manera:
Establecer fso=CreateObject("scripting.filesystemobject")
fso.MoveFile "Ruta del archivo", "destino"
Esto causará problemas.
usar:
Copie el código de código de la siguiente manera:
Establecer fso=CreateObject("scripting.filesystemobject")
fso.CopyFile "Ruta del archivo", "Destino"
fso.DeleteFile "Ruta del archivo"
Esto resolvió decisivamente el problema. Se puede copiar pero no mover.
Actualización 4.30
Después de algunos retoques, resultó que no era un problema con los permisos de la unidad E, sino un problema con los permisos de la unidad D, es decir, un problema con los permisos del directorio del sitio web de IIS.
Agregue una cuenta de invitado de Internet a la unidad D, es decir, agregue una cuenta que comience con IUSR_. Esta cuenta es una cuenta IIS.
Entonces usar MoveFile no es un problema.
Si desea mover o eliminar un archivo, lo primero que debe verificar son los permisos del archivo de origen, no los permisos del archivo de destino.
Los tutoriales en Internet son realmente dañinos.