Bip dans batch

Vixage -  
 SoleilDeWindows13 -
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

  1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    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
  2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    tu as essayer "echo ^G"?
    2
  3. theo7777 Messages postés 117 Statut Membre 42
     
    J'ai fait
    echo ^G >test.txt
    type test.txt

    Et voici le caractere :
    2
    1. darkore100
       
      bonjours, ce caractere marche mais quel est le racourci clavier ou alors ou peut on le trouver a part ici?
      0
    2. karirovax Messages postés 3584 Statut Membre 215
       
      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
    3. SoleilDeWindows13
       
      bonjour
      vous êttes génial !
      vous venez de sauver mon .bat
      merci et bonne continuation à vous !
      0
  4. karirovax Messages postés 3584 Statut Membre 215
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Vixage
     
    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
  7. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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
  8. Vixage
     
    Je te remercie pour ta solution que je vais tester au plus vite.

    Merci encore et bonne journée.

    Vixage
    1
  9. Vixage
     
    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
  10. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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
  11. Vixage
     
    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
    1. Yan
       
      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
  12. konfo
     
    bonjour tous,

    il suffit en fait de faire un simple:

    echo '\a'

    ça marche bien en copier/coller...

    hope this will help...
    0