Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: SuperDraco en 11 Noviembre 2009, 19:12 PM

Título: Ayuda con este script porfavor "IF" (SOLUCIONADO)
Publicado por: SuperDraco en 11 Noviembre 2009, 19:12 PM
estoy intentando crear esto, pero lo hago mal, la carpeta no existe y haga lo que haga siempre va al ":1"

Código (dos) [Seleccionar]

cls
echo+
echo Buscando idiomas innecesarios del Boot.
sleep 1
cls
echo+
echo Buscando idiomas innecesarios del Boot..
sleep 1
cls
echo+
echo Buscando idiomas innecesarios del Boot...
sleep 1

if exist %WINDIR%\Boot\EFI\cs-CZ (
cls
echo+
echo Idiomas innecesarios del Boot encontrados.
sleep 1
cls
echo+
echo Idiomas innecesarios del Boot encontrados..
sleep 1
cls
echo+
echo Idiomas innecesarios del Boot encontrados...
sleep 1
cls
) ELSE (
goto :1
)

:1
cls
echo+
echo Eliminando idiomas innecesarios del Boot.
sleep 1
cls
echo+
echo Eliminando idiomas innecesarios del Boot..
sleep 1
cls
echo+
echo Eliminando idiomas innecesarios del Boot...
sleep 1
rd /s /q %WINDIR%\Boot\EFI\cs-CZ
rd /s /q %WINDIR%\Boot\EFI\da-DK
rd /s /q %WINDIR%\Boot\EFI\de-DE
rd /s /q %WINDIR%\Boot\EFI\el-GR
rd /s /q %WINDIR%\Boot\EFI\fi-FI
rd /s /q %WINDIR%\Boot\EFI\fr-FR
rd /s /q %WINDIR%\Boot\EFI\hu-HU
rd /s /q %WINDIR%\Boot\EFI\it-IT
rd /s /q %WINDIR%\Boot\EFI\ja-JP
rd /s /q %WINDIR%\Boot\EFI\ko-KR
rd /s /q %WINDIR%\Boot\EFI\nb-NO
rd /s /q %WINDIR%\Boot\EFI\nl-NL
rd /s /q %WINDIR%\Boot\EFI\pl-PL
rd /s /q %WINDIR%\Boot\EFI\pt-BR
rd /s /q %WINDIR%\Boot\EFI\pt-PT
rd /s /q %WINDIR%\Boot\EFI\ru-RU
rd /s /q %WINDIR%\Boot\EFI\sv-SE
rd /s /q %WINDIR%\Boot\EFI\tr-TR
rd /s /q %WINDIR%\Boot\EFI\zh-CN
rd /s /q %WINDIR%\Boot\EFI\zh-HK
rd /s /q %WINDIR%\Boot\EFI\zh-TW

Título: Re: Ayuda con este script porfavor "IF"
Publicado por: <ИΘZIЭ(ŦB> en 12 Noviembre 2009, 00:33 AM
Claro pitoloko! Se va al :1 porque aunque se cumpla la primera condición no escribiste nada al final que te lleve la ejecución al inicio de nuevo. Así pues, cuando termina de procesar ese código se sale del IF, omite el ELSE y sigue con la línea siguiente, la cual, como ves, es el :1.
Código (dos) [Seleccionar]

If exist %WINDIR%\Boot\EFI\cs-CZ (
    [esto se cumple y sigue de largo, no se devuelve]
) ELSE (
    goto :1
)

:1
[código]


Tendrías que usar una etiqueta inicial para devolverte en caso de que se cumpla tu sentencia, que es lo que entendí deseas hacer. Tendrías que agregarle algo así:

Código (dos) [Seleccionar]

:Inicio
If exist %WINDIR%\Boot\EFI\cs-CZ (
    [código]
    goto Inicio
) ELSE (
    goto :1
)

:1
[código]


De ese modo el código de :1 no se ejecuta a menos que no se cumpla la primera condición, pues entraría en ELSE que llama a :1.

Deja tus comentarios a ver si te sirvió.
Título: Re: Ayuda con este script porfavor "IF"
Publicado por: SuperDraco en 13 Noviembre 2009, 18:02 PM
uy, me olvidaba de este post jaja, gracias por la ayuda, ya comprendí el funcionamiento del if!

saludos