|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2013
Messaggi: 13
|
[BATCH]Aprire un file se un particolare programma è aperto
Buonasera,
Mi spiego meglio: Vorrei uno script che verifichi costantemente e che controlli all'infinito, se, ad esempio, "firefox.exe" è avviato e, se lo è, apra un file "file.bat" nel percorso: "C:\Utenti\Matthew\Desktop". In altre parole dovrei mettere questo script all'avvio e se in qualsiasi momento dovessi aprire firefox vorrei si aprisse automaticamente il file bat. Grazie mille, io ho provato a fare qualcosa ma senza successo. LINGUAGGIO: BATCH Ultima modifica di matthew131 : 30-08-2013 alle 10:11. Motivo: aggiunto linguaggio, modificato titolo |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12862
|
Con quale linguaggio?
Usando C# puoi usare la classe Process e fare un polling ogni tot secondi: http://msdn.microsoft.com/it-it/library/x8b2hzk8.aspx |
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Apr 2011
Città: Roma
Messaggi: 168
|
Quote:
un abbozzo (da finire): Codice:
for /L %%i in (1,0,3) do @(ping 127.0.0.1 > nul & tasklist | find "firefox.exe" >nul && echo è in esecuzione || echo non è in esecuzione) Ultima modifica di einstein1969 : 30-08-2013 alle 02:32. |
|
|
|
|
|
|
#4 | |
|
Junior Member
Iscritto dal: Jul 2013
Messaggi: 13
|
Quote:
Per questo codice invece mi sembra che vada bene anche se è da finire... è possibile non fare uscire "è in esecuzione" e "non è in esecuzione"? io ho messo @echo off ma nasconde solo la prima parte essendoci un echo prima di ognuna delle due voci. Grazie mille intanto per aver risposto. |
|
|
|
|
|
|
#5 | ||
|
Member
Iscritto dal: Apr 2011
Città: Roma
Messaggi: 168
|
Quote:
Quote:
|
||
|
|
|
|
|
#6 |
|
Junior Member
Iscritto dal: Jul 2013
Messaggi: 13
|
ok, mentre per aprire il file.bat se firefox.exe è in esecuzione?
|
|
|
|
|
|
#7 | |
|
Member
Iscritto dal: Apr 2011
Città: Roma
Messaggi: 168
|
Quote:
Codice:
@echo off & setlocal EnableDelayedExpansion & set /a st=3 & for /L %%i in (1,0,1) do ( ping ::1 >nul 2>nul & tasklist | find "opera.exe" >nul && set /a "st=(st*2+1)&3" || set /a "st=(st*2)&3" & if !st! equ 1 call file.bat ) Ultima modifica di einstein1969 : 30-08-2013 alle 15:10. |
|
|
|
|
|
|
#8 |
|
Junior Member
Iscritto dal: Jul 2013
Messaggi: 13
|
Ho cambiato opera con firefox e messo il percorso di "file" ma non succede niente :/ PS: firefox è attivato
Codice:
@echo off & setlocal EnableDelayedExpansion & set /a st=3 & for /L %%i in (1,0,1) do ( ping ::1 >nul 2>nul & tasklist | find "firefox.exe" >nul && set /a "st=(st*2+1)&3" || set /a "st=(st*2)&3" & if !st! equ 1 call C:\file.bat ) |
|
|
|
|
|
#9 | |
|
Member
Iscritto dal: Apr 2011
Città: Roma
Messaggi: 168
|
Quote:
Intanto vediamo se funziona: Codice:
@echo off & setlocal EnableDelayedExpansion & set /a st=3 & for /L %%i in (1,0,1) do ( ping ::1 >nul 2>nul & tasklist | find "firefox.exe" >nul && set /a "st=(st*2+1)&3" || set /a "st=(st*2)&3" & if !st! equ 1 dir C:\file.bat ) PS: Se firefox e' attivo quando lanci il programma devi chiuderlo e riavviarlo. Così avevi chiesto... Ultima modifica di einstein1969 : 30-08-2013 alle 17:21. |
|
|
|
|
|
|
#10 |
|
Junior Member
Iscritto dal: Jul 2013
Messaggi: 13
|
Ah, mi aspettavo si aprisse anche se avevo firefox aperto giaà da prima, in effetti però è quello che ho chiesto ed è perfetto così perchè lo metto all'avvio di windows.
Sei stato davvero bravo. Grazie mille alla fine il codice giusto era con call: Codice:
@echo off & setlocal EnableDelayedExpansion & set /a st=3 & for /L %%i in (1,0,1) do ( ping ::1 >nul 2>nul & tasklist | find "firefox.exe" >nul && set /a "st=(st*2+1)&3" || set /a "st=(st*2)&3" & if !st! equ 1 call C:\file.bat ) Sì può chiudere grazie |
|
|
|
|
|
#11 | |
|
Member
Iscritto dal: Apr 2011
Città: Roma
Messaggi: 168
|
Quote:
Comunque se vuoi che si avvii anche quando firefox e' gia' attivo non devi fare altro che modificare il "set /a st=3" in "set /a st=0" Provalo e scegli il comportamento che più ti piace. Ultima modifica di einstein1969 : 30-08-2013 alle 21:30. |
|
|
|
|
|
|
#12 |
|
Junior Member
Iscritto dal: Jul 2013
Messaggi: 13
|
Scusa un'altra cosa, ti avevo inviato un pm ma non so se l'hai visto... se l'hai visto scusa, non volevo metterti fretta xD comunque:
E' possibile nascondere la finestra del batch? ho cercato su google però non vorrei utilizzare un vbscript per avviarlo nascosto.. altrimenti sarebbero tre file e la cosa è complicata. A convertirlo in exe da un errore e non parte. Hai una soluzione? |
|
|
|
|
|
#13 | |
|
Member
Iscritto dal: Apr 2011
Città: Roma
Messaggi: 168
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:51.




















