Pregunta

La tarea posterior a la creación de una de nuestras soluciones utiliza xcopy para mover archivos a un directorio común para crear artefactos. Por alguna razón, en mi computadora (y en una máquina virtual que probé), la xcopy falla con "Acceso denegado". Esto es lo que he hecho para tratar de aislar los problemas:

  • Intenté una copia normal; esto funciona.
  • Verifiqué que ninguno de los archivos en cuestión fuera de solo lectura.
  • Verifiqué los permisos tanto en la carpeta de origen como en la de destino; Tengo el control total de ambos.
  • Intenté llamar a xcopy desde la línea de comando en caso de que el proceso de compilación VS hubiera bloqueado el archivo.
  • Utilicé Unlocker y Process Explorer para determinar que no había bloqueos en el archivo fuente.

¿Qué me he perdido, aparte de las teorías de conspiración paranoica que involucran computadoras para sacarme? Esto sucede en mi máquina de desarrollo y en una máquina virtual limpia, pero no le sucede a nadie más en el proyecto.

¿Fue útil?

Solución

Problema resuelto; Hay dos piezas en el rompecabezas.

El modificador / O requiere elevación en Vista. Además, noté que xcopy está en desuso en Vista a favor de la robocopia. Ahora estoy hablando con nuestros ingenieros de construcción sobre esto.

Otros consejos

  

/ r = Use esta opción para sobrescribir archivos de solo lectura en el destino. Si   no utiliza esta opción cuando desea sobrescribir un archivo de solo lectura   en el destino, se le solicitará un " Acceso denegado " mensaje y   el comando xcopy dejará de ejecutarse.

Esa fue la resolución mía de este error.

Fuente

Necesita ejecutar XCOPY como administrador, no hay forma de evitarlo.

Si no desea ejecutar su copia como Administrador, debe usar ROBOCOPY en su lugar.

Tenga en cuenta, sin embargo, que con ROBOCOPY es muy tentador usar el interruptor / COPYALL , que también copia la información de auditoría y requiere "Administrar el derecho de usuario de auditoría", que nuevamente lo invita a ejecutar como administrador como una solución rápida. Si no desea ejecutar su copia como Administrador, entonces no use el interruptor / COPYALL (o / Copy: DATSOU ) . En su lugar, use / Copy: DATSO , ya que la U significa aUditing.

También tenga en cuenta que si está copiando desde NTFS a un sistema de archivos FAT, no hay forma de que pueda "Copiar Seguridad NTFS al Directorio / Archivo de Destino".

Por lo general, esto sucede porque hay otro proceso que bloquea el archivo. Apuesto a que su máquina tiene un número diferente de núcleos / velocidad diferente que los demás. Intente insertar algunas durmientes para ver si resuelve el problema.

Si puede eliminar el archivo en el Explorador de Windows, intente usar un símbolo del sistema elevado. No estoy seguro de por qué Windows Explorer no pide permiso aquí para una operación de eliminación que necesita derechos de administrador a través de cmd.

si está copiando el archivo a la carpeta IIS, entonces necesita ejecutar el archivo por lotes como administrador.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top