Jump to content
PLC Forum

Hellis

Comando Dos Per Inserire Ritardo

Recommended Posts

Hellis

Qualcuno conosce un eseguibile, o anche un comando batch (ma non mi risulta che esista), da inserire in un file batch per provocare un ritardo programmato? Mi spiego meglio.

Se in un file batch si inserisce il comando "PAUSE" per proseguire con i comandi successivi è necessario premere un tasto. Io sto cercando qualcosa che funzioni come il Pause 100 del vecchio GWbasic, che permetteva di forzare una pausa a scadenza programmata, oltre la quale l'esecuzione riprendeva da sola.

Ovviamente non posso usare i timer di vb6 o similari, perchè il tutto deve funzionare da dos (prima che carichi Windows 98).

Grazie a tutti, Luca

PS.: ho trovato questa parte di codice:

Per poter impostare una pausa in millisecondi o microsecondi è disponibile un interrupt, la 15. Per il richiamo di tale interrupt è necessario impostare il registro AH col valore 86h e mettere nella coppia di byte CD:DX il valore d’attesa espresso in microsecondi. Il tutto, come nel seguente esempio

MOV cx,100 ; byte alto

MOV dx,0 ; byte basso

XOR ax,ax ; Pulisce il registro AX

MOV ah, 86h ; Carica il numero del servizio

INT 15h ; Richiama l’interrupt

Mi pare che sia da inserire in una routine qbasic o similare.

Edited by Hellis
Link to post
Share on other sites

Gianmario Pedrani

Quello che hai inserito e un pezzo di sorgente in assembler, quello che ti posso suggerire e` quello di costruire un programmino in c che funzioni sotto dos dove lo puoi lanciare da un file batch che ti fa una pausa programmata magari se cerchi in rete trovi gia un exe oppure un com che faccia gia queste cose,

ma ti confermo che con i soli comandi batch non puoi fare questo

ciao e buon lavoro

Link to post
Share on other sites
Hellis

Ho trovato ciò che fa al caso mio:

TYPE NUL | CHOICE.COM /N /CY /TY,5 >NUL

Lo posto così che possa servire a qualcunaltro

Funziona.. basta digitarlo al prompt del Dos o inserirlo in un file batch.. e dire che lo cercavo da mesi..

Grazie comunque.

Ciao, Luca

Link to post
Share on other sites
Piero Azzoni

se hai bisogno di un ritardo preciso e' un problema, se vuoi semplicemente perdere molto tempo potresti usare

dir \ /s >nul

e' interminabile

Link to post
Share on other sites
mircoelektra
PS.: ho trovato questa parte di codice:

Per poter impostare una pausa in millisecondi o microsecondi è disponibile un interrupt, la 15. Per il richiamo di tale interrupt è necessario impostare il registro AH col valore 86h e mettere nella coppia di byte CD:DX il valore d’attesa espresso in microsecondi. Il tutto, come nel seguente esempio

[...]

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...