Título: Script para Detener Servicios de windows Publicado por: dracrac en 8 Septiembre 2015, 20:10 pm Saludos
He hecho un script para detener los servicios de windows que nos interese pero no acaba de funcionar. Alguien me podria ayudar a ver los problemas? Gracias Aqui pongo el script: Código
el problema esta que el comando: Código: sc stop %servein% > nul no me lee bien la variable %errorlevel% y no va donde tiene que ir. Por ejemplo provando con un servicio protegido como schedule que no se puede parar con el comando sc no me entra dentor del if errorlevel 5. Alguien podria ayudarme? Gracias!! Título: Re: Script para Detener Servicios de windows Publicado por: Mad Antrax en 9 Septiembre 2015, 09:38 am No me gusta usar batch para hacer éste tipo de cosas, creo que lenguajes como VBS y similares dejan un código más limpio. El siguiente ejemplo es un script que iniciará cualquier servicio que esté marcado como "automático" que que no se esté ejecutando actualmente:
Código
Modificarlo para hacer justo lo contrario no te costará nada :) Título: Re: Script para Detener Servicios de windows Publicado por: Eleкtro en 9 Septiembre 2015, 10:10 am Código
...o también: Código
De todas formas y sin duda alguna la mejor solución es evitar Batch siempre que puedas. Prueba el código del compañero @Mad Antrax. Saludos Título: Re: Script para Detener Servicios de windows Publicado por: dracrac en 9 Septiembre 2015, 10:12 am Gracias Mad Antrax por tu respuesta i tu alternativa!
Pero me gustaria saber porque no funciona el codigo que he hecho, creo que esta correcto pero por alguna razón no se comporta del todo como debe. Me gustaria saber porque el comando sc se comporta diferente cuando lo escribes en la linea de comandos que cuando esta dentro de un fichero bat, que es lo que pasa en el ejemplo que he puesto. Título: Re: Script para Detener Servicios de windows Publicado por: dracrac en 9 Septiembre 2015, 10:35 am Gracias de nuevo Elektro era eso lo que pasaba! :D
Porque razón/es es mejor utilizar otro lenguaje diferente del batch? Cual me aconsejas que utilize para hacer estas cosas y porque? y Para que cosas utilizas el batch? Título: Re: Script para Detener Servicios de windows Publicado por: Mad Antrax en 9 Septiembre 2015, 10:43 am Gracias de nuevo Elektro era eso lo que pasaba! :D Porque razón/es es mejor utilizar otro lenguaje diferente del batch? Cual me aconsejas que utilize para hacer estas cosas y porque? y Para que cosas utilizas el batch? Realmente puedes utilizar el lenguaje que desees y te sientas más cómodo. Utilizar lenguajes de bajo nivel te obligará a escribir más código, mientras que los lenguajes de alto nivel te permitirán simplificar un grupo de instrucciones en líneas de código más simple. VBS, además tiene mejoras como el uso de objetos y eventos. Según tu necesidad habrá cosas que con batch no podrás hacer. Así pues, siempre y cuando te sea como batch, úsalo. Pero es bueno conocer y tener otras alternativas. :) Título: Re: Script para Detener Servicios de windows Publicado por: Eleкtro en 9 Septiembre 2015, 11:10 am Porque razón/es es mejor utilizar otro lenguaje diferente del batch? Cual me aconsejas que utilize para hacer estas cosas y porque? Por muchas razones que no caben en un libro, pero yo principálmente lo recomiendo por la reducción de código y tiempo que supone desarrollar en otros lenguajes. Claro ...si migrases a un lenguaje orientado a objetos entonces vas a encontrar la gloría en comparación con el patoso Batch. Por ejemplo Batch, o mejor dicho la aplicación externa SC.exe (o WMIC.exe) no te permite tener ningún tipo de control real sobre el estado de los servicios, cosa que podrías elaborar de forma muy sofisticada con C#/VB.Net. Solo por ponerte un ejemplo acorde a este problema. Cual me aconsejas que utilize para hacer estas cosas y porque? Te respondo a tu pregunta mostrándote una cita reciente: Dentro de los lenguajes integrados en Windows, si simplemente buscas algo más o menos tan sencillo cómo Batch ...pero que le da mil vueltas, ese lenguaje sería VisualBasicScript (VBS) (aunque es otro lenguaje muy limitado también), y luego le seguiría PowerShell (PS). Si tu intención es aprender programación, entonces ninguno de esos lenguajes sería una buena opción, puedes empezar por Ruby o Python por ejemplo en lo referente al Scripting. Pero no te guies por una simple opinión cómo la mía, el mejor lenguaje siempre será aquél con el que más agusto te sientas (al escribi la sintaxis) y con el que puedas realizar todas las tareas que necesites hacer. Pero prueba algo distinto a Batch para comparar, hazme caso en eso. Mi primer lenguaje fue Batch ...hace muchos años ya, por ese motivo entiendo que una persona no puede ser consciente de la mierd@ que supone Batch y de todos los inconvenientes, innecesarios inconvennientes por los que estás pasando para hacer cualquier código hasta que descubras un lenguaje de verdad. Para que cosas utilizas el batch? No utilizo Batch absolutamente para nada (excepto para mostrar ejemplos de ayuda en el foro), cuando lo utilizaba era más o menos para llevar a cabo tareas similares...relacionadas con el sistema, pero todo lo que explico es de memoria ...no por tener práctica usándolo diariamente xD (aunque la práctica la tengo adquirida iguálmente cuando lo aprendí), ya que es un lenguaje simple y sencillo, se aprende y con el paso de los años es como montar en bici, todo se recuerda. Saludos! Título: Re: Script para Detener Servicios de windows Publicado por: dracrac en 9 Septiembre 2015, 11:28 am Muchas Gracias a los dos por la ayuda!! ::)
|