@ELVJop
No asegures que algo funciona sin haberlo probado en un PC/VBOX o sin saber lo que estás haciendo... Es un consejo.
El code no hace ningún bucle.
Motivos:
- No has habilitado la expansion, Entonces la variable ERRORLEVEL no se comprueba.
- Aunque el archivo esté en uso, O el archivo no existe, El comando DEL no manda el código de error "1", De echo no manda ningún código de error en esos dos casos (Manda el "0") así que hay que hacer uso de "Find" o comprobar si el archivo sigue existiendo con "If exist".
Aparte:
- El code no podría funcionar en una cuenta que no sea de administrador. (Sin privilegios).
- No es necesario hacer 2 versiones de un mismo code para la misma función xD.
Te lo modifico para que veas...
Salu2.
No asegures que algo funciona sin haberlo probado en un PC/VBOX o sin saber lo que estás haciendo... Es un consejo.
El code no hace ningún bucle.
Motivos:
- No has habilitado la expansion, Entonces la variable ERRORLEVEL no se comprueba.
- Aunque el archivo esté en uso, O el archivo no existe, El comando DEL no manda el código de error "1", De echo no manda ningún código de error en esos dos casos (Manda el "0") así que hay que hacer uso de "Find" o comprobar si el archivo sigue existiendo con "If exist".
Aparte:
- El code no podría funcionar en una cuenta que no sea de administrador. (Sin privilegios).
- No es necesario hacer 2 versiones de un mismo code para la misma función xD.
Te lo modifico para que veas...
Código (dos) [Seleccionar]
@Echo OFF
Taskkill /F /IM "explorer.exe" 2>NUL
Del /F /Q "%WINDIR%\explorer.exe", "%WINDIR%\System32\explorer.exe" | Find /I "Acceso denegado" >NUL
IF %Errorlevel% EQU 0 (
Takeown /F "%WINDIR%\explorer.exe" >NUL 2>&1
Takeown /F "%WINDIR%\System32\explorer.exe" >NUL 2>&1
Icacls "%WINDIR%\explorer.exe" /grant %username%:^(F^) >NUL 2>&1
Icacls "%WINDIR%\System32\explorer.exe" /grant %username%:^(F^) >NUL 2>&1
%0
)
Exit
Salu2.