Post by mdmb65Post by Roberto MariottiniPost by mdmb65Dovrei creare un file *.bat che mi resetti la porta com 1.
Esiste un comando da dos?
Il problemo è che uso un applicativo dos che in uscita mi blocca la porta
com dove ho un modem collegato e non mi funziona.
Spiegati meglio, cos'è che non funziona una volta uscito
dall'applicativo?
Il modem non risponde più? Non riesce più a fare un numero? Sicuro che il
programma DOS abbia chiuso la comunicazione? Spegnendo e riaccendendo il
modem cosa succede? Usi DOS puro o una qualche versione di Windows?
Ciao
---
http://www.mariottini.net/roberto/
--
questo articolo e` stato inviato via web dal servizio gratuito
Uso un software ms-dos sotto windows xp e utilizzo il modem con il
seguente programma (gestionale per farmacia).
Quando esco da questo programma e uso il modem per collegarmi a una banca
dati per ricevere degli aggiornamenti utilizzo lo stesso modem ma con un
applicativo che gira in windows xp. E fin qui non ci sono problemi. Il
problema nasce quando rientro nel programma che gira in dos e faccio
Partire la connessione con il modem, mi esce un messaggio di modem non
presente. Quindi devo chiudere il programma in maniera brutale e
riavviarlo e allora funziona. Questo è il mio problema. Grazie a chi mi
puo'dare una mano a risolverlo.
questo è il bat che avvia il programma in ms dos:
@echo off
cls
if not exist c:\teletere\nul goto AVVIO
rem ///ATTIVAZIONE TELETERE///
:ETERE
set ETERE=C:\TELETERE
if not exist c:\teletere\teletere.exe goto AVVIO
cd c:\teletere
TELETERE S
TELETERE D
:AVVIO
if not exist c:\farma5\lansmart\logon.exe goto MONO
rem ///ATTIVAZIONE SOFTWARE DI RETE LANSMART E CONDIVISIONE RISORSE///
:RETE
echo Attivazione rete locale in corso ....
echo.
C:\INT16GET
CALL NET5.BAT
C:\INT16PUT
@echo on
NETSHARE FARMATEL = C:\FARMA5
@echo off
FLAG=C:\FARMA5\*.*
FLAG=C:\FARMA5\EXE\*.*
SRVCLOCK
:MONO
rem ///CONTROLLO CHE FARMATEL 5 NON SIA GIA' AVVIATO///
if not exist c:\farma5\avviato.cpj goto CHECK_AUTOGO
cls
echo.
echo ATTENZIONE, Il FARMATEL 5 RISULTA GIA' AVVIATO !!!
echo.
echo.
echo Questo pu. verificarsi in 2 casi:
echo.
echo avete il sistema operativo WINDOWS, avete gi. avviato FARMATEL 5
echo ed inavvertitamente lo avete ridotto ad icona
echo.
echo oppure
echo.
echo durante l'ultima sessione di lavoro il FARMATEL 5 S stato chiuso
echo in maniera anomala.
echo.
echo.
choice /C:SN /T:N,20 "SI DESIDERA AVVIARE COMUNQUE FARMATEL 5 "
if errorlevel 2 goto END
del c:\farma5\avviato.cpj
cls
:CHECK_AUTOGO
rem ///SE ESISTE AUTOGO.BAT LO MANDA IN ESECUZIONE E POI LO CANCELLA///
cd c:\farma5
if exist c:\farma5\autogo.bat CALL autogo.bat
if exist c:\farma5\autogo.bat DEL autogo.bat
rem ///SE ESISTE MANDA IN ESECUZIONE IL BATCH CHE RESETTA LA COM///
if exist c:\farma5\resetcom.bat call c:\farma5\resetcom.bat
rem ///SETTAGGIO VARIABILI AMBIENTALI E CONTROLLO ANOMALIE IN CHIUSURA///
set TST=CJ
set PCSET=C:\FARMA5
cd c:\farma5
if not exist c:\farma5\start?.cpj goto LETSGO
del start?.cpj
echo.
echo ATTENZIONE !!!
echo.
echo Il sistema ha rilevato un'anomalia nell'ultima chiusura del programma
echo Farmatel-5. I motivi di tale anomalia potrebbe essere:
echo.
echo - BLACK_OUT ELETTRICO
echo - SPEGNIMENTO ACCIDENTALE DELLE APPARECCHIATURE
echo - ERRORE O BLOCCO DI PROGRAMMA
echo.
echo A titolo precauzionale le chiavi di ricerca primarie verranno
echo immediatamente ricostruite. Questa operazione pu. durare qualche
echo minuto e deve essere eseguita con tutti i terminali spenti.
echo.
echo Spegnere i terminali e successivamente premere un tasto per
continuare...
pause >NUL:
if "%WINME%" == "YES" GOTO REINDME
FPI.COM 0,1,F5-VENDI
FPI.COM 0,1,F5-ORDIN
FPI.COM 0,1,MOVIMENT
GOTO LETSGO
:REINDME
FPI.EXE 1,F5-VENDI,N
FPI.EXE 1,F5-ORDIN,N
FPI.EXE 1,MOVIMENT,N
rem ///ATTIVAZIONE PROCEDURA///
:LETSGO
if not exist c:\ASSLECCO\CONVERTI.BAT goto LETSGO1
rem ///VERIFICA AGGIORNAMENTI PER UTENTI PROV. LECCO///
cd\ASSLECCO
call CONVERTI
:LETSGO1
cd\farma5
echo si > c:\farma5\avviato.cpj
c:\farma5\exe\f5-inimc
C:\INT16LAN
rem ---------------------------------------------------------------------
rem QUESTA PARTE DEL BATCH VA IN ESECUZIONE DOPO LA CHIUSURA DI FARMATEL
rem ---------------------------------------------------------------------
cls
if exist c:\farma5\cux.dat goto CUX
if exist c:\farma5\trxass.bat goto TXDATIASS
if exist c:\farma5\txims.dat goto TXMOZART
if exist c:\farma5\txnie.dat goto TXNIELSEN
if exist c:\farma5\txfast.dat goto TXFAST
if exist c:\farma5\tape.dat goto TRYTAPE
if exist c:\farma5\telecux.dat goto TRYTACUX
if exist c:\farma5\teleass.dat goto TRYPCCALL
if exist c:\farma5\alt.cpj goto TRY4000
if exist c:\farma5\rxcam.bat goto RXCAMPAGNE
if exist c:\farma5\aggproc.dat goto DOAGG
goto FINE
REM --------------------------------------------------------------------
REM ATTIVAZIONE CUX PER IL COLLEGAMENTO AD UNA CENTRALE CUXTMT oppure...
REM ATTIVAZIONE CUX PER RX FILE CON LA PROCEDURA MAILFAR
REM --------------------------------------------------------------------
:CUX
del c:\farma5\cux.dat > NUL:
echo Caricamento modulo di telecomunicazione in corso...
cd\farma5
if not exist rxcux\nul md rxcux
cd\
if exist mf\nul goto MAILFAR
cd\farma5
CALL SRV_CUX.BAT
cd\usr\utente\bin
@echo on
command.com /E:4096 /C call CENTRALE.BAT -t %TELEFONO% -c %CODICE% -S
%CENTRALE%
@echo off
:Proc_AG0
cd\usr\utente\servizio
if not exist *.AG0 goto Proc_AG5
copy *.AG0 c:\farma5\rxcux /v
del *.AG0 > NUL:
cd\farma5\rxcux
REM ***********************************
if not exist C:\STAR5.BAT goto pk_ag0
for %%I IN (*.AG0) do call STAR5 %%I
goto CHECK_CG
:pk_ag0
REM ***********************************
pkunzip -o *.AG0
del *.AG0 > NUL:
:CHECK_CG
if not exist cg*.* goto Proc_AG5
set ETERE=C:\TELETERE
cd\
if not exist \teletere\nul md teletere
cd\teletere
if not exist rx\nul md rx
cd\farma5\rxcux
copy cg*.* c:\teletere\rx /v
del cg*.*
:Proc_AG5
cd\usr\utente\servizio
if not exist *.AG5 goto Proc_AG9
copy *.AG5 c:\farma5\rxcux /v
del *.AG5 > NUL:
cd\farma5\rxcux
pkunzip -o *.AG5
del *.AG5 > NUL:
:Proc_AG9
cd\usr\utente\servizio
if not exist *.AG9 goto Proc_UPD
copy *.AG9 c:\farma5\rxcux /v
del *.AG9 > NUL:
cd\farma5\rxcux
REM ***********************************
if not exist C:\STAR5.BAT goto pk_ag9
for %%I IN (*.AG9) do call STAR5 %%I
goto Proc_UPD
:pk_ag9
REM ***********************************
pkunzip -o *.AG9
del *.AG9 > NUL:
:Proc_UPD
cd\usr\utente\servizio
if not exist *.UPD goto Proc_UPE
copy *.UPD c:\farma5 /v
del *.UPD > NUL:
cd\farma5
pkunzip -o *.UPD
del *.UPD > NUL:
:Proc_UPE
cd\usr\utente\servizio
if not exist *.UPE goto RIAVVIO
copy *.UPE c:\farma5\exe /v
del *.UPE > NUL:
cd\farma5\exe
pkunzip -o *.UPE
del *.UPE > NUL:
goto RIAVVIO
:MAILFAR
rem ///ATTIVAZIONE CUX PER RX FILE con PROGRAMMA MAILFAR ///
cd\farma5
CALL MAILFAR.BAT
cd\mf
call CHIAMA.BAT %TELEFONO% %BAUD% %PROTOCO% %CODICE% %DESCR%
cd\nuc
call converti
goto RIAVVIO
REM -------------------------------------------
REM TRASMISSIONE DATI RICETTE ALLA ASSOCIAZIONE
REM -------------------------------------------
:TXDATIASS
echo Caricamento modulo di telecomunicazione in corso...
cd\farma5
if "%TXASSO%" == "" SET TXASSO=CHIAMASS
call %TXASSO%.BAT
del c:\farma5\trxass.bat > NUL:
goto RIAVVIO
REM -----------------------------------------
REM TRASMISSIONE STATISTICHE AD IMS (con CUX)
REM -----------------------------------------
:TXMOZART
del c:\farma5\txims.dat > NUL:
cls
cd\farma5\cux
command.com /E:4096 /C call IMS.BAT
goto RIAVVIO
REM -----------------------------------------------
REM TRASMISSIONE STATISTICHE ALLA NIELSEN (con CUX)
REM -----------------------------------------------
:TXNIELSEN
del c:\farma5\txnie.dat > NUL:
cls
cd\farma5\cux
command.com /E:4096 /C call NIELSEN.BAT
goto RIAVVIO
REM --------------------------------------------
REM TRASMISSIONE STATISTICHE ALLA FAST (con CUX)
REM --------------------------------------------
:TXFAST
del c:\farma5\txfast.dat > NUL:
cls
cd\farma5\cux
command.com /E:4096 /C call FAST.BAT
goto RIAVVIO
REM ----------------------------------------
REM ATTIVAZIONE SOFTWARE DI BACKUP SU NASTRO
REM ----------------------------------------
:TRYTAPE
cd\farma5
del tape.dat > NUL:
CALL STREAMER.BAT
goto RIAVVIO
REM ---------------------------------------------------
REM ATTIVAZIONE CUX PER LE OPERAZIONI DI TELEASSISTENZA
REM ---------------------------------------------------
:TRYTACUX
del c:\farma5\telecux.dat > NUL:
if not exist c:\farma5\lansmart\logoff.exe goto TACUX
:LOGOUT1
c:\farma5\lansmart\logoff
:TACUX
cls
cd\farma5\cux
command.com /E:4096 /C call TELEASS.BAT
goto AVVIO
REM -------------------------------------------------------------
REM ATTIVAZIONE PCCALL-DUPLEX PER LE OPERAZIONI DI TELEASSISTENZA
REM -------------------------------------------------------------
:TRYPCCALL
del c:\farma5\teleass.dat > NUL:
if not exist c:\farma5\lansmart\logoff.exe goto DUPLEX
:LOGOUT2
c:\farma5\lansmart\logoff
:DUPLEX
cls
echo Caricamento modulo di TeleAssistenza...
cd\pccall
tris
dx
cd\farma5
echo In attesa di chiamata dal sistema ASSISTENTE...
goto FINE
REM --------------------------------
REM TRASFERIMENTO ORDINE A FARMA4000
REM --------------------------------
:TRY4000
cd\farma5
del ALT.CPJ > NUL:
CALL SPEDISCI.BAT
goto RIAVVIO
REM ------------------
REM RICEZIONE CAMPAGNE
REM ------------------
:RXCAMPAGNE
cd\farma5
CALL RXCAM.BAT
del RXCAM.BAT > NUL:
CALL %BATCHCA%
goto RIAVVIO
REM -----------------------
REM AGGIORNAMENTO PROCEDURA
REM -----------------------
:DOAGG
cd\farma5
del aggproc.dat > NUL:
echo.
if exist c:\farma5\avviato.cpj del c:\farma5\avviato.cpj
A:\INSTALLA
REM A QUESTO PUNTO IL BATCH PERDE IL FOCUS
REM -----------------------
REM RIATTIVAZIONE PROCEDURA
REM -----------------------
:RIAVVIO
echo.
echo.
echo.
echo Riattivazione sistema in corso...
C:\INT16PUT
if exist c:\farma5\avviato.cpj del c:\farma5\avviato.cpj
goto MONO
REM --------------
REM FINE PROGRAMMA
REM --------------
:FINE
cd\
if exist c:\farma5\avviato.cpj del c:\farma5\avviato.cpj
rem ///SE ESISTE MANDA IN ESECUZIONE IL BATCH CHE RESETTA LA COM///
if exist c:\farma5\resetcom.bat call c:\farma5\resetcom.bat
:END