Vediamo di semplificare un po' la situazione affrontando un problema alla volta.

Consideriamo il caso seguente:

- stato del telefono: sbloccato
- operazioni necessarie per la riconnessione:

a- rasdial edge_tim /phone:4916
b- ctrl+c
c- rasdial edge_tim

Problema come simulare il "ctrl+c" ?

Un'idea funzionante è la seguente:

si potrebbe scrivere un file bat "pro.bat" padre che lancia il processo figlio contenete l'operazione (a) e lo uccida dopo pochi secondi simulando l'operazione (b), quindi passi all'operazione (c).

______________________
pro.bat (processo padre)
-------------------------
start "pippo" ras.bat
choice /t:y,3
taskkill /FI "windowtitle eq pippo - ras.bat" /IM cmd.exe /F /T
choice /t:y,2
rasdial edge_tim
-------------------------



______________________
ras.bat (processo figlio)
-------------------------
rasdial edge_tim /phone:4916
-------------------------



Ecco che in questo modo la simulazione del ctrl+c funziona:
il processo padre lancia "ras.bat", che è piuttosto lungo come tempo (questo perchè abbiamo ipotizzato il telefono sbloccato, quindi in pratica non dà il beep).
Dopo tre secondi lo uccide terminando sia la finestra di "ras.bat" che l'operazione "rasdial" in corso.
Adesso mi aspetto che riconnettendosi normalmente la connessione funzioni normalmente, almeno dando il ctrl+c a mano e poi il "rasdial edge_tim", funziona tutto bene.

Nonostante la mia speranza, invece, quando lo script arriva all'ultimo comando "rasdial edge_tim", la connessione non si stabilisce e ritorna un messaggio d'errore dicendo che la connessione è già in uso......grrrr....
Se a quel punto provo, a mano, a dare diversi comandi:
- "rasdial edge_tim /d": risposta: nessuna connessione in esecuzione
- "rasdial edg_tim /phone:4916": risposta: connessione già in funzione
- "rasdial edge_tim": risposta: risposta: connessione già in funzione

Eppure la connessione non è in funzione...sono messaggi un po' discrdanti, non travate?

un'ipotesi potrebbe essere che uccidendo il processo ras.bat e tutti quelli da lui generati, si sopprima anche qualche altro processo, che ignoro, del quale magari abbia bisogno l'utility rasdial per funzionare...ma non saprei.



Se a vete idee, ditemi pure.