Vai al contenuto
PLC Forum


Comando Dos Per Inserire Ritardo


Hellis

Messaggi consigliati

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.

Modificato: da Hellis
Link al commento
Condividi su altri siti


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 al commento
Condividi su altri siti

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 al commento
Condividi su altri siti

  • 1 year later...

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

dir \ /s >nul

e' interminabile

Link al commento
Condividi su altri siti

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 al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...