Wait un utilitaire pour faire des pauses dans les batch (c)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 707 fois - Téléchargée 34 fois

Contenu du snippet

Les boucles dans les batch bouffent le processeur. ce petit programme evite cet inconvenient et affiche en plus un truc qui tourne.

Source / Exemple :


/* 
   Name:          Wait.exe
   Author:        egd
   Description:   utilitaire command line pour faire des
                  pauses dans les batch
   Copyright:     domaine public

   Exemple d'utilisation:
   Directory watcher en dos!

@echo off
REM Exemple de directory-watcher avec Wait

:START
if exist test\*.txt goto PROCESS
wait 3
REM Wait evite de bouffer tout le processeur dans la boucle
goto START

:PROCESS
move test\*.txt .
REM on peut faire ici ce qu'on veut du fichier
goto START

REM il faut utiliser CTRL C pour sortir
REM lancer le batch et balancer un fichier txt dans test

  • /
// les includes #include <stdio.h> #include <time.h> // la fonction Wait affiche un truc qui tourne pendant l'attente int Wait(int NbSec) { time_t Time_Start, Time_End, Time; int i; char *Buffer[]= {"-", "\\", "|", "/"}; time(&Time_Start); for(Time_End = Time_Start + NbSec; Time < Time_End; time(&Time)) for(i=0; i<4; i++) { sleep(200); printf("%s\r", Buffer[i%4]); } return 0; } int main(int argc, char *argv[]) { int NbSec=0; // Nombre de secondes à passer en argument if(argc > 1) NbSec = atoi(argv[1]); if (NbSec <= 0) { NbSec = 1; // default = 1 seconde printf("Usage: %s [Number_of_second]\n\n", argv[0]); // on peut aussi virer le printf } Wait(NbSec); return 0; }

Conclusion :


Compilé avec Dev-C++

A voir également

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
mardi 22 juillet 2003
Statut
Membre
Dernière intervention
23 juillet 2003

C'est aussi un mystere pour moi. J'ai seulement trouvé la déclaration suivante dans stdlib.h de Dev-C++ :
void _sleep (unsigned long ulTime);
Il y a aussi un Sleep dans winbase.h
En tout cas ça marche!
Si quelqu'un peut m'expliquer comment une fonction qu'on ne trouve déclarée nullepart peut marcher et ou se documenter pour de telle fonctions, welcome!
egd
Messages postés
45
Date d'inscription
samedi 16 février 2002
Statut
Membre
Dernière intervention
16 septembre 2004

okkkkkk je comprend mais dsl pour le sleep c'est un Qbasic ou en c++ :S
Messages postés
3
Date d'inscription
mardi 22 juillet 2003
Statut
Membre
Dernière intervention
23 juillet 2003

La commande sleep n'existe pas et pause attend qu'on tape sur une touche.
L'idée est de pouvoir faire des boucles en dos sans bouffer le processeur. Si tu lance mon batch d'exemple sans le wait, le proc est bouffé presque à 100%
@+
egd
Messages postés
45
Date d'inscription
samedi 16 février 2002
Statut
Membre
Dernière intervention
16 septembre 2004

Je vois pas vraiment a koi sert ton programe parce que dans un fichier batch tu peux i dire la commentde sleep ou pause il les comprend le dos donc pkoi fair un prog comme sa si i a dejas les commende :S:S:S:S

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.