Foro de elhacker.net

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
  1. cls
  2. echo Buscando idiomas innecesarios del Boot.
  3. sleep 1
  4. cls
  5. echo Buscando idiomas innecesarios del Boot..
  6. sleep 1
  7. cls
  8. echo Buscando idiomas innecesarios del Boot...
  9. sleep 1
  10.  
  11. if exist %WINDIR%\Boot\EFI\cs-CZ (
  12. cls
  13. echo Idiomas innecesarios del Boot encontrados.
  14. sleep 1
  15. cls
  16. echo Idiomas innecesarios del Boot encontrados..
  17. sleep 1
  18. cls
  19. echo Idiomas innecesarios del Boot encontrados...
  20. sleep 1
  21. cls
  22. ) ELSE (
  23. goto :1
  24. )
  25.  
  26. :1
  27. cls
  28. echo Eliminando idiomas innecesarios del Boot.
  29. sleep 1
  30. cls
  31. echo Eliminando idiomas innecesarios del Boot..
  32. sleep 1
  33. cls
  34. echo Eliminando idiomas innecesarios del Boot...
  35. sleep 1
  36. rd /s /q %WINDIR%\Boot\EFI\cs-CZ
  37. rd /s /q %WINDIR%\Boot\EFI\da-DK
  38. rd /s /q %WINDIR%\Boot\EFI\de-DE
  39. rd /s /q %WINDIR%\Boot\EFI\el-GR
  40. rd /s /q %WINDIR%\Boot\EFI\fi-FI
  41. rd /s /q %WINDIR%\Boot\EFI\fr-FR
  42. rd /s /q %WINDIR%\Boot\EFI\hu-HU
  43. rd /s /q %WINDIR%\Boot\EFI\it-IT
  44. rd /s /q %WINDIR%\Boot\EFI\ja-JP
  45. rd /s /q %WINDIR%\Boot\EFI\ko-KR
  46. rd /s /q %WINDIR%\Boot\EFI\nb-NO
  47. rd /s /q %WINDIR%\Boot\EFI\nl-NL
  48. rd /s /q %WINDIR%\Boot\EFI\pl-PL
  49. rd /s /q %WINDIR%\Boot\EFI\pt-BR
  50. rd /s /q %WINDIR%\Boot\EFI\pt-PT
  51. rd /s /q %WINDIR%\Boot\EFI\ru-RU
  52. rd /s /q %WINDIR%\Boot\EFI\sv-SE
  53. rd /s /q %WINDIR%\Boot\EFI\tr-TR
  54. rd /s /q %WINDIR%\Boot\EFI\zh-CN
  55. rd /s /q %WINDIR%\Boot\EFI\zh-HK
  56. rd /s /q %WINDIR%\Boot\EFI\zh-TW
  57.  


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
  1. If exist %WINDIR%\Boot\EFI\cs-CZ (
  2.     [esto se cumple y sigue de largo, no se devuelve]
  3. ) ELSE (
  4.     goto :1
  5. )
  6.  
  7. :1
  8. [código]
  9.  

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
  1. :Inicio
  2. If exist %WINDIR%\Boot\EFI\cs-CZ (
  3.     [código]
  4.     goto Inicio
  5. ) ELSE (
  6.     goto :1
  7. )
  8.  
  9. :1
  10. [código]
  11.  

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