|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2002
Messaggi: 441
|
Lancaiare programmi in sequenza... aiuto
Salve
io non so praticamente niente di programmazione... e dovrei creare una specie di programma che mi permettta di lanciare una serie di altri programmi in sequenza cioè che quando un programma ha finito le sue operazioni, ne venga lanciato un altro e cosi via. es. prog1 prog2 prog3 prog... mi hanno detto che si può fare in dos con un file bat. ma non so come fare. qualcuno mi può aiutare? grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Semplicemente crei un file di testo con notepad con questo contenuto:
@echo off prog1 prog2 prog3 Poi lo chiudi e lo rinomini come nomechevuoi.bat e poi lo esegui... |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Apr 2002
Messaggi: 441
|
ok
e che cosa sarebbe @echo off devo mettergli su il percorso dei singoli file? lo chiedo perche devo mettere tutto su un cd. Dato che devo lanciare i tool removal e devo continuamente aggiornarre il cd volevo sapere se dovevo contiunamente creare un nuovo file o se era possibile creare un comando che mi lanci i tool che aggiungo in seguito... non so magari rinominando i file con un numero progressivo... come posso fare che si auto chiudano i log che vengono visualizzati alla fine di ogni tool? Questo è opzionale, anche se non si fa è lostesso... sarebbe solo una ottimizzazione: Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se fai un CD multisessione puoi semplicemente sovrascrivere il file vecchio con quello nuovo...
Devi mettere il percorso relativo rispetto alla posizione dove si trova l'eseguibile... Se il bat sta in f:\ e gli eseguibili in f:\exe\ allora devi scrivere nel bat: exe\prog1 Riguardo alla chiusura dei log...dipende da come sono realizzati questi programmi...necessitano la pressione del tasto invio ? Per la rilevazione dei virus... Mettere la @ davanti ad una riga significa che la riga nond eve essere visualizzata (altrimenti ogni riga viene visualizzata prima di essere eseguita)... "echo off" disattiva la visualizzazione di tutte le righe seguenti (fino alla fine o fino ad un "echo on")... In pratica "@echo off" disattiva la visualizzazione delle istruzioni Il comando ECHO può essere usato anche per stampare del testo: echo Sto iniziando la scansione... Inoltre credo che ogni removal tool setti l'errorlevel... L'errorlevel è in pratica un valore che ogni progrmama lanciato ritorna la sistema operativo... Guarda qui per sapere come controllare l'errorlevel (per vedere l'errorlevel ritornato in caso di rilevazione di virus stampa l'errorlevel con ECHO Guarda qui per saperne di più... http://labmice.techtarget.com/articles/batchcmds.htm |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2002
Messaggi: 441
|
grazie mille per l'aiuto.
in automatico come posso fare per chiudere i log? grazie |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ma quali operazioni si devono fare per chiudere i log ? Bisogna premere invio ?
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2002
Messaggi: 441
|
si preme il tasto ok o invio.
poi ti chiede se vuoi connetterti per scaricare la patch o per avere maggiori informazioni. e li gli devi dare si o no. a me interesserebbe anche solo il log se è troppo incasinato chiudere la seconda finestra. se vuoi a questo indirizzo c'e ne è uno http://securityresponse.symantec.com...r/FxNetsky.exe grazie |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Aspetta...queste sono applicazioni Windows...è un progrlam allora...perchè le scansioni aprtirebbero tutte assieme...
Comunque se scrivi FxNetsky.exe /? ti appare l'help e ci sono vari comandi che possono tornare utili... L'opzione /s anche se fa tutto senza l'intervento dell'utente (e senza visualizzare finestre) non permette di lanciare i programmi in sequenza... Se vuoi usare removal tool da linea di comando puoi usare quelli di F-Secure: http://www.f-secure.com/download-purchase/tools.shtml Purtroppo per il NetSky non ne hanno... |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Apr 2002
Messaggi: 441
|
Quote:
e perchè non si può? c'è un modo? L'estensione "/s" la devo mettere sempre dopo l'estensione del programma, cosi non mi appaiono finestre, giusto???? grazie p.s. scusa la mia ignoranza |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Sì...quel genere di patch non puoi applicarle in sequenza perchè l'istruzione successiva viene effettuata subito dopo aver lanciato la prima (prova dalla shell e vedrai che ritorna subito al prompt)... |
|
|
|
|
|
|
#11 |
|
Member
Iscritto dal: May 2004
Messaggi: 75
|
Esatto i batch di dos lanciano un programma dopo l'altro ma non ne controllano il funzionamento. Potresti farti un programma in un qualche linguaggio, ma se non ne conosci la vedo dura. Forse il più semplice da imparare è il delphi e puoi fare esattamente quello che hai chiesto (che cmq puoi fare anche in visual basic, vc++, ecc.).
Di sicuro non puoi pretendere di riuscire a farlo al volo Ciao, McK |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
Option Explicit
' RikShell - by Rik 8/5/98 ' Come funzione Shell, ma il programma VB resta in attesa che il programma lanciato termini. Declare Function OpenProcess Lib "kernel32" _ (ByVal dwDesiredAccess As Long, _ ByVal bInheritHandle As Long, _ ByVal dwProcessId As Long) As Long Declare Function GetExitCodeProcess Lib "kernel32" _ (ByVal hProcess As Long, _ lpExitCode As Long) As Long Declare Function CloseHandle Lib "kernel32" _ (ByVal hObject As Long) As Long Const STILL_ACTIVE = &H103 Const PROCESS_QUERY_INFORMATION = &H400 Function RikShell(exe As String, Optional WinStyle) As Integer Dim processid As Long Dim hProcess As Long Dim exitcode As Long Dim parm As Integer ' Controllo il parametro opzionale finestra Select Case VarType(WinStyle) Case vbEmpty, vbNull, vbError parm = vbNormalFocus Case vbLong, vbInteger, vbSingle, vbDouble parm = WinStyle Case Else parm = vbNormalFocus End Select ' Prelevo l'ID del processo lanciato processid = Shell(exe, parm) ' Creo un Handle per quel processo hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, processid) Do ' Controllo ripetutamente che termini Call GetExitCodeProcess(hProcess, exitcode) ' Lascio libero il sistema di processare le altre applicazioni DoEvents Loop While (exitcode = STILL_ACTIVE) CloseHandle (hProcess) End Function salva questo come modulo in vb poi.... RikShell ("tuo1.exe") RikShell ("tuo2.exe") RikShell ("tuo3.exe") partono in sequena rispettando che il processo precedente sia finito
__________________
Il portale delle infomazioni di Latina e Provincia Giralatina.it e’ nato con il preciso intento di promuovere varie attività che si svolgono nella provincia di Latina http://www.giralatina.it Il Blog dei Pendolari http://www.giralatina.it/blog/mybloggie/index.php |
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Apr 2002
Messaggi: 441
|
grazie mille... ma una domanda dove devo incollare tutto questo codice?
Quote:
grazie |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
E visual basic ..
crea un modulo
__________________
Il portale delle infomazioni di Latina e Provincia Giralatina.it e’ nato con il preciso intento di promuovere varie attività che si svolgono nella provincia di Latina http://www.giralatina.it Il Blog dei Pendolari http://www.giralatina.it/blog/mybloggie/index.php |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:36.



















