Bip dans batch

Fermé
Vixage - 27 avril 2006 à 16:22
 SoleilDeWindows13 - 2 févr. 2012 à 13:46
Bonjour,

je souahiterai émettre un BIP lors de la fin d'un COPY.

La commande Ctrl+G fonctionne mais pas de manière automatique puisqu'il faut faire "Entrer" pour la valider.

Comment faire ?

Merci pour votre aide.

Vixage

11 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
2 mai 2006 à 22:36
Il ya une fonction qui fait des bip sdans la bibliothèque user32.dll

Tu peux l'utiliser comme ça dans un batch (comme alternative au C):
rundll32 user32.dll,MessageBeep -1

Par contre pour ta boucle je sais pas...
7
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
27 avril 2006 à 16:49
tu as essayer "echo ^G"?
2
theo7777 Messages postés 104 Date d'inscription mercredi 24 mars 2010 Statut Membre Dernière intervention 9 janvier 2013 42
9 juil. 2010 à 18:45
J'ai fait
echo ^G >test.txt
type test.txt

Et voici le caractere : 
2
bonjours, ce caractere marche mais quel est le racourci clavier ou alors ou peut on le trouver a part ici?
0
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 203
23 oct. 2011 à 11:50
Re:

le caractère clavier est : Ctrl + G c'est à dire la touche contrôle de votre clavier avec la lettre G tous en restant appuyer sur Ctrl puis G

karirovax ;)
0
SoleilDeWindows13
2 févr. 2012 à 13:46
bonjour
vous êttes génial !
vous venez de sauver mon .bat
merci et bonne continuation à vous !
0
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 203
11 juil. 2010 à 18:43
salut

oui exactement avec la combinaison du clavier Ctrl+G et le metre dans un fichier externe.

echo ^G >test.txt

puis ouvrir votre fichier test.txt et faire un copier/coller dans votre fichier batch et voilà ;)

vous pouvez la copier plusieurs fois comme vous voulez ;)
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Cela fonctionne si je saisi la commande dans l'invite de commande.
Par contre si je met la commande dans un fichier CMD cela ne fonctionne pas meme si je lance le fichier CMD via l'invite de commande.

As tu une idée pour résoudre mon problème ?
Merci.
1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
28 avril 2006 à 09:02
Fait chier ton truc...
J'ai eu le même problème avec sleep.
Du coup, j'ai fait un prog C.
Donc ce que je te conseil, tu crée un prg C :
#include <stdio.h>
int main()
{
     printf("\b\n");
     return 0;
}

que tu apel beep.exe, tu le copie dans c:\windows\system32
et tu n'a plus qu'a rajouter la ligne "beep " dans ton batch
1
Je te remercie pour ta solution que je vais tester au plus vite.

Merci encore et bonne journée.

Vixage
1
Je viens de tester ta solution et cela ne fonctionne pas. Pourquoi mettre l'exe dans C:\Windows\System32 ?

#include <stdio.h>
int main()
{
printf("\b\n");
return 0;
}

Merci pour ton aide,

Vixage
1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
28 avril 2006 à 13:46
je le met dans system 32 pour qu'il soit dans le PATH et fonctionne avec tout les batch. En effet, je me suis planter, c'est printf("\a") qui fait un bip...
Il ne reste plus qu'a espérer que ça fonctionne correctemetn dans ton script. Si ça ne fonctionne pas, il faut essayer avec deux options de compil différente : fenetre console ou prog win32. (-mwindows dans gcc je croi).
Si ça ne fonctionne toujours pas, je seche.
1
Merci cela fonctionne niquel !!!

Par contre sais tu comment faire bipper dans un batch jusqu'à une intervention utilisateur ?

Avec un for c'est jouable non ?

Merci
1
Juste pour répondre même s'il est trop tard cela pourra toujours servir à quelqu'un
Le principe est de créer un batch qui lance un processus créant un fichier ou non selon la réponse de l'utilisateur, et parallélement de faire des bips.

Voici le programme beep.bat
:init
Start "Confirmation d arret" DemandeUser.bat
goto debut

:debut
If exist TestReussie.tst goto Fin
goto suite


:suite
Color 1f
Set Num=%1%
Title beep %Num%
rundll32 user32.dll,MessageBeep -1
sleep 3
Color
goto debut

:fin

et voici demandeuser.bat
@echo off

:ini
rem Suppression du fichier de test
If exist TestReussie.tst Del TestReussie.tst /Q
goto debut


:debut
Rem demande utilisateur
set /P Test=Voulez Vous arréter les Bips O/N:

If %Test%==O (
echo Cool>testreussie.tst
exit
)else (
cls
echo %test%
Goto debut
)

goto fin

:fin
0
bonjour tous,

il suffit en fait de faire un simple:

echo '\a'

ça marche bien en copier/coller...

hope this will help...
0