|
|
|
|
Strumenti |
04-06-2021, 11:16 | #1 |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 449
|
eseguire servizio da cmd
ciao a tutti vorrei sapere se è possibile eseguire tramite cmd l'avvio di un servizio windows MA solo se questo servizio non è già in esecuzione ?
ho creato un file bat che lancia il seguente comando: net start spooler se il file bat parte quando il servizio non è in esecuzione funziona correttamente se parte quando il servizio è già in esecuzione a volte crea problemi E' possibile dire al file bat di partire solo qunado il servizio spooler non è in esecuzione ? magari tramite un comando if ?
__________________
Vivi sempre cercando di essere te stesso così un giorno potrai dire di esssere stato l'unico |
04-06-2021, 13:23 | #2 |
Senior Member
Iscritto dal: Feb 2005
Messaggi: 1218
|
se il servizio è già avviato mi pare ovvio che non accade nulla.
se non è avviato, parte. non capisco il problema. come non capisco quali problemi tu abbia nel caso in cui esegui il bat e il servizio è già in esecuzione... non dovrebbe capitare nulla. anche io uso a volte file bat x fare quello che tu dici e parte (se non già avviato) oppure non accede nulla (in caso il servizio sia già avviato). |
04-06-2021, 14:14 | #3 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8685
|
Codice:
: x_Master_x @ECHO OFF FOR /F "tokens=3 delims=: " %%X in ('SC QUERY "NomeServizio" ^| FINDSTR " STATO"') DO ( IF /I "%%X" NEQ "RUNNINGS" ( ECHO NET START "NomeServizio" ) )
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . |
05-06-2021, 14:21 | #4 | |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 449
|
Quote:
Credevo bastasse una sintassi più semplice
__________________
Vivi sempre cercando di essere te stesso così un giorno potrai dire di esssere stato l'unico |
|
05-06-2021, 17:55 | #5 |
Senior Member
Iscritto dal: Jan 2019
Messaggi: 1122
|
.
Ultima modifica di Katsaros : 06-06-2021 alle 10:10. |
05-06-2021, 20:09 | #6 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8685
|
Quale comando? Comunque, controlla se il servizio è in esecuzione con SC QUERY. Se lo stato non è RUNNING lo avvia.
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . |
08-06-2021, 21:56 | #7 | |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 449
|
Quote:
Non esiste una sintassi più semplice ? ad es. if "nome servizio" è false net start "nome servizio"
__________________
Vivi sempre cercando di essere te stesso così un giorno potrai dire di esssere stato l'unico |
|
09-06-2021, 05:59 | #8 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8685
|
Non ti capisco...
Se lo vuoi usare, prendi "NomeServizio" che è scritto due volte, metti il tuo servizio, togli l'ECHO, avvia. Se lo vuoi capire invece, studia. È un ciclo FOR e un IF. Se ti metti con un minimo di impegno, in quanto, 30 minuti? Mi tengo largo, e ti sarà chiaro. Sono QUATTRO RIGHE di codice, non la divina commedia. QUATTRO RIGHE. Non esiste "IF NOT SERVIZIOESISTE THEN NET START", a meno che non ti scrivi tu la funzione SERVIZIOESISTE. Quindi o lo usi, o lo studi e poi lo usi.
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:14.