Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Esegui programma solo se il software XYZ è in esecuzione

Hai problemi con i file Zip, vuoi formattare l'HD, non sai come funziona FireFox? O magari ti serve proprio quel programmino di cui non ricordi il nome! Ecco il forum dove poter risolvere i tuoi problemi.

Moderatori: Dylan666, hydra, gahan

Postdi pjfry » 14/02/05 09:41

pjfry ha scritto:basta cambiarlo completamente usando il find :D
praticamente si potrebbe ridirigere l'output di pv su find /c e sfruttare l'output di find per sapere se il processo gira o no :undecided:
ho visto un batch che faceva una cosa del genere una volta, chissà dov'è :undecided:

nah... ci rinuncio... dylan mi sa che devi pagare una cena a bianconiglio e fargli fare 'sto programmino :D
(poi al 99% te ne fa uno che funziona solo su 2k o xp come il batch :P )
Avatar utente
pjfry
Moderatore
 
Post: 8240
Iscritto il: 19/11/02 17:52
Località: terni

Sponsor
 

Postdi BianConiglio » 14/02/05 10:50

il fatto è che gli shell script mi fanno pena da sempre :p :D

ps: i miei prog funziano anche su ME e 98 :D
BianConiglio
Utente Senior
 
Post: 4710
Iscritto il: 26/12/01 01:00
Località: Varese / Lugano

Postdi Dylan666 » 16/02/05 14:09

Con un po' di testardaggine ho ottenuto quello che volevo ;)

Il problema è che nel nome delle label per i GOTO vengono considerati solo i primi 8 caratteri. L'ho trovato scritto nella documentazione per Windows 2000, per windows 2003 e anche per Windows XP, anche se abbiamo visto che in quest'ultimo caso non è poi tanto vero (e nemmeno negli altri 2 secondo me) e il BAT alla fine funziona.

La limitazione delle 8 lettere è invece assolutamente esatta per Windows 98/ME (e DOS).
Quindi chiamare le 2 etichette dell'ERRORLEVEL in questo modo...

Process_NotFound
Process_Found

... falsa il risultato del file batch, perché in entrambi i casi i primi 8 caratteri sono Process_. Levando il trattino a uno dei 2 (e al riferimento dopo il GOTO) va tutto ok:

Codice: Seleziona tutto
@echo off
pv.exe %1 >nul
IF ERRORLEVEL 1 GOTO :ProcessNotFound
:Process_Found
echo Process %1 is running
GOTO END
:ProcessNotFound
echo Process %1 is not running
GOTO END
:END
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Precedente

Torna a Software Windows


Topic correlati a "Esegui programma solo se il software XYZ è in esecuzione":


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti