Bip dans batch

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

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    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...
    1. J'ai fait
      echo ^G >test.txt
      type test.txt

      Et voici le caractere :
      1. bonjours, ce caractere marche mais quel est le racourci clavier ou alors ou peut on le trouver a part ici?
      2. 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 ;)
      3. bonjour
        vous êttes génial !
        vous venez de sauver mon .bat
        merci et bonne continuation à vous !
    2. 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 ;)
      1. 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. Contributeur
          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. Contributeur
                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
                2. bonjour tous,

                  il suffit en fait de faire un simple:

                  echo '\a'

                  ça marche bien en copier/coller...

                  hope this will help...