![Puede eliminar un archivo a través del Explorador de Windows pero no a través de un archivo por lotes](https://rvso.com/image/1575986/Puede%20eliminar%20un%20archivo%20a%20trav%C3%A9s%20del%20Explorador%20de%20Windows%20pero%20no%20a%20trav%C3%A9s%20de%20un%20archivo%20por%20lotes.png)
Cuando intento eliminar un archivo de una ubicación de red a través de un archivo por lotes de Windows (estoy en Windows 7) usando el comando "del" con los indicadores /f y /q, veo el mensaje "Acceso denegado". mensaje y el archivo no se elimina. Sin embargo, puedo eliminar el archivo manualmente con éxito a través del explorador de Windows.
He estado ejecutando el archivo por lotes con mi cuenta de usuario personal, que debería usar los mismos permisos que para eliminarlo manualmente a través del Explorador de Windows.
No hay nada especial en el archivo que estoy intentando eliminar, es un archivo de texto en blanco que creé para realizar pruebas después de notar que parte de nuestro código de automatización no podía eliminar archivos de esta ubicación.
Este problema solo está presente en un recurso compartido de red específico; en todas las demás ubicaciones, puedo eliminar archivos con archivos por lotes de Windows sin ningún problema.
Además, puedo crear con éxito un archivo de texto en la ubicación de red en cuestión sin ningún problema mediante un archivo por lotes. Es sólo el comando de eliminación el que me da el mensaje "Acceso denegado". asunto.
Mi cuenta está en un grupo que no tiene acceso al recurso compartido que contiene la carpeta en cuestión, pero sí tiene acceso a la carpeta del recurso compartido. La forma en que se configura la seguridad para esta ubicación de red es la siguiente:
\\Server\Share\Folder1
\\Server\Share\Folder2
Donde el grupo en el que se encuentra mi cuenta tiene acceso de "modificación" a la Carpeta1 y la Carpeta2, pero no a Compartir.
Editar: La línea de comando en cuestión, según lo solicitado:
del \\Server\Share\Folder\TEST_FILE.txt /F /Q
¿Alguien conoce algún fenómeno de red/seguridad que pueda estar causando este problema y cómo puedo solucionarlo?
Respuesta1
No estoy seguro de por qué sucede esto, pero sospecho que el del
comando no admite correctamente los nombres de ruta UNC.
Pude reproducir esto fácilmente y el error desapareció cuando usé una unidad asignada:
del \\share\folder\file.txt
:: got an error 'Access denied'
net use Z: \\share\folder
del Z:\file.txt
:: file deleted successfully
Por extraño que parezca, otros comandos funcionaron. Por ejemplo, podría crear un subdirectorio, mover el archivo allí y luego eliminar el subdirectorio:
mkdir \\share\folder\trash
move \\share\folder\file.txt \\share\folder\trash
rmdir /s /q \\share\folder\trash
Respuesta2
El comando 'del \y\x' realiza una búsqueda en 'y' de todos los archivos que coinciden con 'x', por lo que necesitará acceso a la lista de directorios en 'y'.
Con respecto a los recursos compartidos de red, el acceso que obtiene es la intersección de permisos en el recurso compartido y en el objeto al que está accediendo. Si un archivo le permite escribir, pero el recurso compartido no, entonces no podrá escribir.