View Full Version : [DOS]Mi potete aiutare su un file batch?
Ciao a tutti.Non ho mai postato in questa sezione e volevo un aiuto sulla creazione di questo tipo di file.
Mi serviva un file .bat che controlli un processo che si avvia automaticamente all'avvio del PC (che per altre cause si avvia dopo circa 30sec. dall'avvio del s.o.) e non appena questo è avviato, faccia partire un eseguibile tipo notepad.exe.
Spero di essere stato chiaro.
Ho cercato sul forum e su google, ma nessun esempio mi è sembrato indicato.Ho provato con il comando "tasklist" ma nn sono riuscito a fare molto.
Grazie a tutti quelli che risponderanno.
Nessuno mi può aiutare?E io pensavo che nn fosse nulla di complicato!!! :p
yorkeiser
26-01-2007, 10:30
Non mi sembra che nel Winnezz base escano programmi capaci di far qualcosa del genere. Puoi provare a cercare se c'è qualche task manager evoluto su internet; l'alternativa è di scriverti tu un programmino che ti faccia ciò che vuoi.
Il problema non è far partire il nuovo eseguibile, ma controllare che il processo X si sia appena avviato
Con che linguaggio posso farlo (calcola che sono proprio alle prime armi...!!!)?
Poi ho trovato questo:
tasklist | find "notepad.exe"
ma funziona a tratti...ogni tanto da il risultato, altre no!
Sai magari dove posso guardare per qualche esempio simile?
Grazie mille
yorkeiser
26-01-2007, 11:12
Non ho il comando/programma tasklist su questo PC, nè l'avevo mai sentito prima.
Da quel che vedo, dovrebbe restituire in output la lista dei processi attivi ed il successivo find cerca in tale output il processo da te menzionato (notepad.exe). Ignoro se ciò sia possibile, ti manca comunque un'istruzione condizionale che gli dica "se l'hai trovato allora lancialo", e non so se l'IF del DOS possa arrivare a tanto. Tanto più che questo controllo lo dovresti sincronizzare con l'avvio del processo, ovvero ti manca la parte "appena il processo si avvia", qui sei tu a controllare (Quando lo lanci il controllo se non sai quando si avvia il processo?)
Questo file/programma si deve avviare una sola volta e solo all'avvio del pc quindi no problem.
Per il "condizionale" mi sa che hai ragione.Ho letto già da ieri alle specifiche dell'IF e nn ho trovato nulla che mi possa aiutare.
Secondo te, in che codice mi posso buttare per creare un eseguibile che faccia al caso mio?
Grazie mille
P.S.: "tasklist" funziona solo con WinXP PRO.
yorkeiser
26-01-2007, 12:41
Uhm non ho mai lavorato su nulla del genere, ma direi che il C++ mi sembra adeguato. Magari, prima di buttarti a farlo da codice (anche se a priori non mi sembra assolutamente una cosa lunga o complicata) senti il parere di qualcuno che ha più conoscenze sistemistiche in ambiente Winzozz.
...adesso vedo, anche se nn conosco persone in grado di fare ciò!!!
Cmq grazie mille per la disponibilità!
Ciao
mapomapo
26-01-2007, 14:55
non puoi mettere un collegamento all'eseguibile in "esecuzione automatica" ?
Vito
Mi serviva un file .bat che controlli un processo che si avvia automaticamente all'avvio del PC (che per altre cause si avvia dopo circa 30sec. dall'avvio del s.o.) e non appena questo è avviato, faccia partire un eseguibile tipo notepad.exe.
Purtroppo questo processo perde tempo all'avvio di suo!Proprio per questo voglio sapere e controllare quando si avvia...
repne scasb
27-01-2007, 10:42
@ECHO OFF
:RETEST
TASKLIST | FIND "notepad.exe"
IF ERRORLEVEL==1 GOTO RETEST
CALC.EXE
Attende l'esecuzione di Blocco note (notepad.exe), una volta eseguito esegue la Calcolatrice (calc.exe).
@ECHO OFF
:RETEST
TASKLIST | FIND "notepad.exe"
IF ERRORLEVEL==1 GOTO RETEST
CALC.EXE
Attende l'esecuzione di Blocco note (notepad.exe), una volta eseguito esegue la Calcolatrice (calc.exe).
ciao fantastica rep... da okay tvb
@ECHO OFF
:RETEST
TASKLIST | FIND "notepad.exe"
IF ERRORLEVEL==1 GOTO RETEST
CALC.EXE
Attende l'esecuzione di Blocco note (notepad.exe), una volta eseguito esegue la Calcolatrice (calc.exe).
Stupendo!!!
Grazie mille!!!
Un'ultima cosa, ho aggiunto alla fine il comando "EXIT", ma si chiude solamente quando viene terminato il programma appena aperto...dove sbaglio?
Ciao e grazie
repne scasb
29-01-2007, 17:52
Un'ultima cosa, ho aggiunto alla fine il comando "EXIT", ma si chiude solamente quando viene terminato il programma appena aperto...dove sbaglio?
Ciao e grazie
@ECHO OFF
:RETEST
TASKLIST | FIND "notepad.exe"
IF ERRORLEVEL==1 GOTO RETEST
START /I CALC.EXE
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.