¿Por qué el set archivo="Notepad.exe" si el archivo al que deseo acceder es otro distinto de ese ejecutable?¿Es un ejemplo?
La linea de "
Set archivo=" era un ejemplo para no complicarte las cosas, y especificar en esa linea el archivo que quieras.
El Takeown, mirando con el famoso /? he escrito en el cmd con permisos de administrador (sin hacer el fichero bat):
Takeown /F "C:\windows\system32\drivers\etc\hosts"
Similar a lo que tu has escrito, pero sigue dando acceso denegado.
Entonces no tienes los permisos necesarios, Ejecuta una instancia de la consola o del comando, con permisos de admin.
En icacls bastaría con poner en todos, el sid del usuario para especificar el usuario para el que quiero los permisos ¿no?
Si piensas usarlo con una SID, pon un asterisco al principio como en este ejemplo:
Icacls "C:\windows\system32\notepad.exe" /Grant *S-1-5-21-82915261-1026912143-1044256597-500:(F)
Pero supongo que ya sabrás el nombre del usuario, o el grupo de usuarios, ¿Y eso es más fácil de recordar no? xD:
Icacls "C:\windows\system32\notepad.exe" /Grant NOMBRE_DEL_USUARIO:(F)
EDITO: Se me olvidó comentarte que el comando que te puse de Takeown, Modifica el propietario para la cuenta de usuario actual, Puedes especificar que el propietario séa otro, Bueno, Ya viste la ayuda del comando.
saludos