Necesito comprobar si un servicio de Windows está instalado desde un archivo por lotes. Puedo sumergirme en algo más que un lote si es necesario, pero preferiría no hacerlo. ¿Hay alguna manera de hacer esto?¿Cómo se puede saber si se instala un servicio de Windows utilizando (preferentemente) solo un lote?
¿Cómo se puede saber si se instala un servicio de Windows utilizando (preferentemente) solo un lote?
Respuesta
puede ejecutar "net stop [servicename]" si se produce un error con "el nombre del servicio no es válida" el servicio no está instalado
Prueba esto:
@echo off
SC QUERY ftpsvc > NUL
IF ERRORLEVEL 1060 GOTO MISSING
ECHO EXISTS
GOTO END
:MISSING
ECHO SERVICE MISSING
:END
Tenga en cuenta que el comando SC QUERY
consultas por el nombre corto del servicio, no el nombre para mostrar. Puede encontrar este nombre mirando la pestaña General de las propiedades de un servicio en Service Manager.
Aquí hay un ejemplo usando sc query
para verificar si un servicio de Windows está instalado y detener si se encuentra.
sc query | find /I "%tmpServiceName%" > nul if not errorlevel 1 echo. && net stop %tmpServiceName% if errorlevel 1 echo. - Windows service %tmpServiceName% is not running or doesn't exist.
qué pasa:
sc interrogate "nameofyourservicehere"
he encontrado esto realmente útil ya tasklist
no dará información sobre si el servicio está instalado o no. (o no encontré cómo)
Bueno, esto verifica si el Servicio se está ejecutando. Sin embargo 'sc GetDisplayName ServiceName' funcionaría para comprobar instalado – Robin
Debe usar el comando "query", no "Stop" o algo más, el "Stop" puede detener su servicio si es que existe, entonces esta no es la manera correcta.
@echo OFF
set _ServiceName=SomeServiceName
sc query %_ServiceName% | find "does not exist" >nul
if %ERRORLEVEL% EQU 0 echo Service Does Not Exist.
if %ERRORLEVEL% EQU 1 echo Service Exist.
- 1. ¿Cómo se puede saber si se está utilizando un paquete, procedimiento o función PL/SQL?
- 2. ¿Cómo se puede saber si dos comodines se superponen?
- 3. ¿Cómo se puede saber si ya no se necesita un alijo de git?
- 4. ¿cómo se instala un paquete PEAR en WAMP, Windows 7?
- 5. ¿Verifica si se está ejecutando un servicio de Windows?
- 6. ¿Cómo se instala un módulo en erlang?
- 7. ¿Cómo se puede saber si el iPhone se bloquea?
- 8. Cómo se instala sqlite3 en Windows
- 9. Cómo saber si un directorio se monta de forma remota utilizando Java
- 10. ¿Cómo puede un servicio de Windows iniciar un proceso cuando se produce un evento de temporizador?
- 11. ¿Se puede consumir un servicio WCF como si fuera un servicio web ASP.NET?
- 12. ¿Cómo se puede distinguir si se trata de un servicio web SOAP o REST?
- 13. ¿Cómo saber si un programa se bloqueó con un subproceso?
- 14. ¿Cómo se puede saber si un archivo se almacena en caché en la memoria en Linux?
- 15. ¿Cómo depurar un servicio de Windows utilizando puntos de interrupción?
- 16. Cómo saber si el servicio se está ejecutando utilizando adb shell en android
- 17. El servicio de Windows no aparece cuando se instala con el proyecto de instalación
- 18. ¿Cómo puedo saber si un TClass se deriva de otro?
- 19. ¿Cómo saber si ya se estableció un parámetro de salida?
- 20. ¿Cómo se puede saber si una transmisión está cerrada?
- 21. Permitir que se configure un servicio de Windows
- 22. ¿Podemos saber si un script de Python se inicia desde Windows o un terminal de texto?
- 23. ¿Cómo puede saber mi programa si Delphi se está ejecutando?
- 24. ¿Cómo se puede saber si una entidad EF4 es nueva o un registro existente?
- 25. No se pueden recuperar datos en un dispositivo extraíble utilizando un servicio de Windows en C++
- 26. ¿Cómo puede un servicio de Windows reiniciarse programáticamente?
- 27. ¿Cómo puedo saber si se ha eliminado un `NSManagedObject`?
- 28. cómo saber si se usa un índice alguna vez
- 29. ¿Cómo saber si se está ejecutando un temporizador?
- 30. ¿Cómo saber si un formulario se muestra como diálogo
¡Error! Incluso la suspensión breve de algunos servicios puede no ser deseada, lo que es más, algunos servicios están protegidos y no pueden ser detenidos. – ST3
También estoy de acuerdo que esto no debería marcarse como la respuesta, aunque podría funcionar en algunos casos. – leeman24