Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: SuperDraco en 30 Noviembre 2009, 04:00 AM

Título: [BATCH] Ayuda con este script sobre "if exist" y "takeown" (SOLUCIONADO)
Publicado por: SuperDraco en 30 Noviembre 2009, 04:00 AM
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
Título: Re: [BATCH] Ayuda con este script sobre "if exist" y "takeown"
Publicado por: leogtz en 30 Noviembre 2009, 06:09 AM
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.
Título: Re: [BATCH] Ayuda con este script sobre "if exist" y "takeown"
Publicado por: SuperDraco en 30 Noviembre 2009, 20:39 PM
lo he intentado como tu me dices Leo, pero no me deja correr un "takeown" despues de un "if exists"  >:(
Título: Re: [BATCH] Ayuda con este script sobre "if exist" y "takeown"
Publicado por: SuperDraco en 30 Noviembre 2009, 20:57 PM
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.

Título: Re: [BATCH] Ayuda con este script sobre "if exist" y "takeown" (SOLUCIONADO)
Publicado por: Angel Doze en 30 Noviembre 2009, 21:05 PM
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!