Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

help comptage en batch


heretic

Messages recommandés

Bonsoir je suis vraiment désespéré et j'ai vraiment besoin de votre aide

alors voici mon problème, je veux réaliser un compteur avec un fichier batch

qui s'incrémente de 1 à chaque démarrage de windows.

Pour cela j'ai créé moi même ma variable d'environnement dans laquelle je stocke

une valeur initiale, mais lorsque je veux l'incrémenter j'y arrive pas.

 

Si vous savez comment faire, ou bien avez une autre méthode dîtes le moi je vous en supplie.

 

En résumé, je veux que au bout de "n" démarrage de windows ,il se passe un truc.

 

voilà un bout de code en vain pour vous mettre sur la route...

 

REM Création de la variable d'environnement
echo setlocal compteur=1>>c:/autoexec.bat

if exist toto.txt set /a %compteur%+=1

if "%compteur%" GEQ "12" echo "Joyeux Anniversaire !!!">>toto.txt

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

tu devrais plutot utiliser la bdr et un script vbs c'est plus simple je trouve

 

Voila un exemple, tu n'a plus que le faire demarrer a chaque demarrage

de Windows

Option Explicit
dim Ws
Set ws = WScript.CreateObject("WScript.Shell")
dim cnt
on error resume next
cnt = ws.Regread("HKEY_CURRENT_USER\Software\mon compteur\count")
ws.RegWrite "HKEY_CURRENT_USER\Software\mon compteur\count",cnt + 1, "REG_DWORD"

 

Voila en esperant t'aider @+

Lien vers le commentaire
Partager sur d’autres sites

faisable, mais pour cela il te faut une variable systeme (reste present apres un shutdown)

 

utilises l'utilitaire de crosoft "setx" (toolkit W2K)

 

ensuite la syntaxe est

 

 

il te faudra prévoir la création de ta variable "varsys" avec une valeur lors du

 

1er lancement du compteur

 

start  /wait  xcopy a:\setx.exe %windir%\system32
setx varsys 1
(la valeur ne sera prise en compte que lors de la prochaine instance CMD)

set /A count = "varsys" + 1

setx varsys %count%

 

j'espere avoir ete assez clair

 

demande si tu veux plus d'info

 

bye

Lien vers le commentaire
Partager sur d’autres sites

merci pour votre aide à tous les deux, mais sans vouloir vous commander j'aimerai réaliser tout ça dans seul fichier batch sans faire appel à un fichier vbs , ou en utilisant la commande setx car celle ci ne se trouve pas sur tous les postes de mon réseau...

 

 

snif :P ya t'il une solution à ce défi ??

Lien vers le commentaire
Partager sur d’autres sites

bein tu peux utiliser la meme methode que pour le vbs dans un batch

mais c moin facile pourquoi vouloir absolument mettre tout dans un batch si un vbs peux le faire plus vite et plus facilement ?

481343[/snapback]

 

Ben déja ya plus de mérite de réaliser un programme quand on comprends ce qu'il fait, je me suis po encore mis au vbs, mais j'aimerai tant pouvoir le faire en batch... :P

Lien vers le commentaire
Partager sur d’autres sites

hé bé! t'est pas exigeant toi.

 

sans vbs et sans setx il va être dur de réaliser ton truc.

 

il reste une soluce qui consiste a créer des fichiers

 

@echo off

set chemin = "%tmp%\compte"

if exist "%chemin%"\count2.txt goto etape1
if exist "%chemin%"\count3.txt goto etape2
if exist "%chemin%"\count4.txt goto etape3
if exist "%chemin%"\count5.txt goto etape4

echo demarrage > "%chemin%"\count2.txt

exit

:etape1

echo demarrage > "%chemin%"\count3.txt

exit

:etape2

echo demarrage > "%chemin%"\count4.txt

exit

:etape3

echo demarrage > "%chemin%"\count5.txt

exit

:etape4

echo happy birsthday 
pause
exit

 

 

cette methode (pas tres propre) te permettra d'éxécuter une commande au 5ieme demarrage

 

tu colles ce code dans un bat que tu lance de l'autoexec via la commande call

 

A+

 

ps: le nom et l'extension des fichiers n'ont pas d'importance

 

Pense à utiliser les balises appropriées, en l'occurence


ici, afin de rendre le texte plus lisible :P Modifié par Laubean
Lien vers le commentaire
Partager sur d’autres sites

Bon allez me suis creuse un peu lol

 

Voila un exemple pour lancer regedit au 5 eme redemarrage...

 

Tu fais un copier coller de ce code dans un fichier bat que tu nomme Batch1.bat

 

@Echo Off
    Set Count=0 
    Set Stop=5
    If Not Exist Batch2.bat Copy Batch1.bat Batch2.bat
    GoTo Verif

:Start
    Start %WinDir%\regedit.exe
    Copy Batch2.bat Batch1.bat
    Exit
:Verif
    Echo     Set /a Count=Count+1 >>Batch1.bat
    Echo     If "%%Count%%"=="%%Stop%%" GoTo Start >>Batch1.bat
    Echo ::>>Batch1.bat
::

 

Tu n'a plus qu'a enregistrer batch1.bat pour qu'il se lance au demarrage :P

Modifié par sebdraluorg
Lien vers le commentaire
Partager sur d’autres sites

hello

 

il y a un truc que je comprend pas dans ton batch.

 

tes variables count et stop tu les fixes ou?

il me semble qu'elle ne seront valable que pour l'instance cmd courante

 

elle n'existeront plus a la prochaine instance??????? (il me semble)

 

une p'tite explication me sierrait assez.

 

thanks

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...