Hola, no se que pasa que algo tengo estoy haciendo mal en este script... pero cuando el script llega al comando de "if exist %Windir%\system32\Ribbons.scr (" y luego al "takeown /f", se cierra y no me da tiempo a leer el error!, no puedo hacer un "pause" para leerlo tampoco, aunque intentandolo leer, creo que dice "No se esperaba /F en este momento", pero eso no es posible... está bien!, si el script lo pruebo sin los "If", osea, si pruebo solamente un "takeown /F %WINDIR%\winsxs\PhotoScreensaver* /R" no me da problemas, y el resto del script es casi identico y funciona, nos e que debe pasar... necesito de vuestra ayuda :-(
:200
cls
color 07
echo+
echo Buscando salvapantallas de Windows 7.
sleep 1
cls
echo+
echo Buscando salvapantallas de Windows 7..
sleep 1
cls
echo+
echo Buscando salvapantallas de Windows 7...
sleep 1
if not exist %Windir%\system32\bubbles.scr (
color 02
cls
echo+
echo No se han encontrado salvapantallas de Windows 7.
sleep 3
cls
) ELSE (
goto :29
)
:29
cls
if exist %Windir%\system32\Ribbons.scr (
color 02
cls
echo+
echo Eliminando salvapantallas de Windows 7.
sleep 1
cls
echo+
echo Eliminando salvapantallas de Windows 7..
sleep 1
cls
echo+
echo Eliminando salvapantallas de Windows 7...
sleep 1
takeown /F %WINDIR%\winsxs\PhotoScreensaver* /R
icacls %WINDIR%\winsxs\PhotoScreensaver* /grant Administradores:(D,WDAC) /T
takeown /F %WINDIR%\winsxs\x86_microsoft-windows-PhotoScreensaver* /R
icacls %WINDIR%\winsxs\x86_microsoft-windows-PhotoScreensaver* /grant Administradores:(D,WDAC) /T
takeown /F %WINDIR%\winsxs\amd64_microsoft-windows-PhotoScreensaver* /R
icacls %WINDIR%\winsxs\amd64_microsoft-windows-PhotoScreensaver* /grant Administradores:(D,WDAC) /T
takeown /F %WINDIR%\winsxs\ssText3d* /R
icacls %WINDIR%\winsxs\ssText3d* /grant Administradores:(D,WDAC) /T
takeown /F %WINDIR%\winsxs\x86_microsoft-windows-ssText3d* /R
icacls %WINDIR%\winsxs\x86_microsoft-windows-ssText3d* /grant Administradores:(D,WDAC) /T
takeown /F %WINDIR%\winsxs\amd64_microsoft-windows-ssText3d* /R
icacls %WINDIR%\winsxs\amd64_microsoft-windows-ssText3d* /grant Administradores:(D,WDAC) /T
takeown /F %Windir%\syswow64\bubbles.scr
icacls %Windir%\syswow64\bubbles.scr /grant Administradores:(D,WDAC)
takeown /F %Windir%\system32\bubbles.scr
icacls %Windir%\system32\bubbles.scr /grant Administradores:(D,WDAC)
takeown /F %WINDIR%\winsxs\bubbles* /R
icacls %WINDIR%\winsxs\bubbles* /grant Administradores:(D,WDAC) /T
takeown /F %WINDIR%\winsxs\x86_microsoft-windows-bubbles* /R
icacls %WINDIR%\winsxs\x86_microsoft-windows-bubbles* /grant Administradores:(D,WDAC) /T
takeown /F %WINDIR%\winsxs\amd64_microsoft-windows-bubbles* /R
icacls %WINDIR%\winsxs\amd64_microsoft-windows-bubbles* /grant Administradores:(D,WDAC) /T
takeown /F %Windir%\syswow64\Mystify.scr
icacls %Windir%\syswow64\Mystify.scr /grant Administradores:(D,WDAC)
takeown /F %Windir%\system32\Mystify.scr
icacls %Windir%\system32\Mystify.scr /grant Administradores:(D,WDAC)
takeown /F %WINDIR%\winsxs\Mystify* /R
icacls %WINDIR%\winsxs\Mystify* /grant Administradores:(D,WDAC) /T
takeown /F %WINDIR%\winsxs\x86_microsoft-windows-mystify* /R
icacls %WINDIR%\winsxs\x86_microsoft-windows-mystify* /grant Administradores:(D,WDAC) /T
takeown /F %WINDIR%\winsxs\amd64_microsoft-windows-mystify* /R
icacls %WINDIR%\winsxs\amd64_microsoft-windows-mystify* /grant Administradores:(D,WDAC) /T
takeown /F %Windir%\syswow64\Ribbons.scr
icacls %Windir%\syswow64\Ribbons.scr /grant Administradores:(D,WDAC)
takeown /F %Windir%\system32\Ribbons.scr
icacls %Windir%\system32\Ribbons.scr /grant Administradores:(D,WDAC)
takeown /F %WINDIR%\winsxs\Ribbons.scr* /R
icacls %WINDIR%\winsxs\Ribbons.scr* /grant Administradores:(D,WDAC) /T
takeown /F %WINDIR%\winsxs\x86_microsoft-windows-ribbons* /R
icacls %WINDIR%\winsxs\x86_microsoft-windows-ribbons* /grant Administradores:(D,WDAC) /T
takeown /F %WINDIR%\winsxs\amd64_microsoft-windows-ribbons* /R
icacls %WINDIR%\winsxs\amd64_microsoft-windows-ribbons* /grant Administradores:(D,WDAC) /T
del /q /f /s %Windir%\winsxs\PhotoScreensaver*
del /q /f /s %Windir%\winsxs\amd64_microsoft-windows-PhotoScreensaver*
del /q /f /s %Windir%\winsxs\x86_microsoft-windows-PhotoScreensaver*
del /q /f %Windir%\system32\bubbles.scr
del /q /f %Windir%\syswow64\bubbles.scr
del /q /f /s %Windir%\winsxs\bubbles*
del /q /f /s %Windir%\winsxs\amd64_microsoft-windows-bubbles*
del /q /f /s %Windir%\winsxs\x86_microsoft-windows-bubbles*
del /q /f %Windir%\system32\Mystify.scr
del /q /f %Windir%\syswow64\Mystify.scr
del /q /f /s %Windir%\winsxs\Mystify*
del /q /f /s %Windir%\winsxs\amd64_microsoft-windows-mystify*
del /q /f /s %Windir%\winsxs\x86_microsoft-windows-mystify*
del /q /f %Windir%\system32\Ribbons.scr
del /q /f %Windir%\syswow64\Ribbons.scr
del /q /f /s %Windir%\winsxs\Ribbons.*
del /q /f /s %Windir%\winsxs\amd64_microsoft-windows-ribbons*
del /q /f /s %Windir%\winsxs\x86_microsoft-windows-ribbons*
del /q /f /s %Windir%\winsxs\ssText3d*
del /q /f /s %Windir%\winsxs\amd64_microsoft-windows-ssText3d*
del /q /f /s %Windir%\winsxs\x86_microsoft-windows-ssText3d*
pause
) ELSE (
goto :201
)
:201
cls
color 07
echo+
echo Buscando imagenes de cuentas de usuario de Windows 7.
sleep 1
cls
echo+
echo Buscando imagenes de cuentas de usuario de Windows 7..
sleep 1
cls
echo+
echo Buscando imagenes de cuentas de usuario de Windows 7...
sleep 1
La mayoría de las veces que se cierra sin avisar es porque no se cierra un parentesis.
En dado caso, si avisara de un error que no se pueda ver, corre el script desde el CMD.EXE
Abre una ventana de comandos y corre el bat normalmente
c:\>script.bat
Cuando estés tratando con archivos, mas vale siempre entre comillarlos:
if not exist "%Windir%\system32\bubbles.scr"
Igual creo que deberias hacerlo con los parametros de los comandos:
icacls %WINDIR%\winsxs\PhotoScreensaver* /grant "Administradores:(D,WDAC)" /T
rem Pongo las comillas para evitar problemas luego con los parentesis del IF.
Saludos.
lo he intentado como tu me dices Leo, pero no me deja correr un "takeown" despues de un "if exists" >:(
No se porque esto tiene que ser así... pero lo he conseguido haciendo un:
cmd /c if exist %WINDIR%\Boot\EFI\en-us (
takeown /F %WINDIR%\Boot\EFI\* /R
Si en cambio hago:
if exist %WINDIR%\Boot\EFI\en-us (
cmd /c takeown /F %WINDIR%\Boot\EFI\* /R
no me deja, en fin. pero ya está, gracias.
Hola loko,
Lo que pasa es que no estas cerrando el parentesis que abres ( , debes cerrarlo y seguro te debe funcionar bien )
if exist %WINDIR%\Boot\EFI\en-us (
cmd /c takeown /F %WINDIR%\Boot\EFI\* /R )
Salu2!