Batch
Résolu
Ylann
Messages postés
235
Date d'inscription
Statut
Membre
Dernière intervention
-
Ylann Messages postés 235 Date d'inscription Statut Membre Dernière intervention -
Ylann Messages postés 235 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Est ce qu'on peut lancer une commande à la fermeture (sur la croix rouge) d'un batch ? Ou faire en sorte que le batch se relance après fermeture (toujours sur la croix rouge)
Je fais une sorte de deuxième identifications windows et je ne veux pas qu'elle soit fermé tant que le mot de passe n'est pas entré.
code :
@echo off
color 1c
set /a essai=3
taskkill /F /IM explorer.exe >NUL
echo nombre d'essais = %essai%
Set /p MDP=Entez le mot de passe pour continuer:
if %MDP%== (mot de passe) (
echo Merci !
goto fin
)else (
goto erreur
)
:erreur
cls
set /a essai=%essai%-1
if %essai%==0 (
shutdown /l
)
echo Nombre d'essais restant = %essai%
Set /P erreur=(Erreur) Entrez a nouveau le mot de passe:
if %erreur%== (mot de passe) (
echo Merci !
goto fin
)Else (
goto erreur
)
:fin
Pause >NUL
start explorer.exe >NUL
exit
Merci d'avance ! En espérant avoir une réponse.
Est ce qu'on peut lancer une commande à la fermeture (sur la croix rouge) d'un batch ? Ou faire en sorte que le batch se relance après fermeture (toujours sur la croix rouge)
Je fais une sorte de deuxième identifications windows et je ne veux pas qu'elle soit fermé tant que le mot de passe n'est pas entré.
code :
@echo off
color 1c
set /a essai=3
taskkill /F /IM explorer.exe >NUL
echo nombre d'essais = %essai%
Set /p MDP=Entez le mot de passe pour continuer:
if %MDP%== (mot de passe) (
echo Merci !
goto fin
)else (
goto erreur
)
:erreur
cls
set /a essai=%essai%-1
if %essai%==0 (
shutdown /l
)
echo Nombre d'essais restant = %essai%
Set /P erreur=(Erreur) Entrez a nouveau le mot de passe:
if %erreur%== (mot de passe) (
echo Merci !
goto fin
)Else (
goto erreur
)
:fin
Pause >NUL
start explorer.exe >NUL
exit
Merci d'avance ! En espérant avoir une réponse.
3 réponses
Résumé de la discussion
On cherche à lancer une commande à la fermeture d'un batch et à le relancer après fermeture (croix rouge), tout en bloquant l'identification tant que le mot de passe n'est pas saisi. Des solutions proposées incluent un script qui tue explorer.exe, demande trois essais de mot de passe, et relance explorer.exe si le mot de passe est correct, sinon déconnecte l'utilisateur. La version retenue montre des améliorations comme l'insertion d'un point de départ et d'un label fin, et des échanges sur la propreté du code pour éviter les erreurs de syntaxe. Par ailleurs, il est noté que stocker un mot de passe en clair présente des risques et qu'il existe des alternatives plus sûres.
-
Bonjour
En faite au lieu d'utiliser if utiliser plutot if not.
mais avec ca faut retravailler votre bath... -
Ca donnerai ca :
@echo off
color 1c
set /a essai=3
taskkill /F /IM explorer.exe >NUL
:debut
echo nombre d'essais = %essai%
Set /p MDP=Entez le mot de passe pour continuer:
if not %MDP% == (mot de passe) goto erreur
echo Merci !
goto fin
:erreur
cls
set /a essai=%essai%-1
if %essai%==0 goto shut
goto debut
:shut
shutdown /l
:fin
Pause >NUL
start explorer.exe >NUL
exit
Ouep je pense ne pas avoir fait d'erreur ^^ -
C'est tout simplement impossible
Lien: https://www.batcher.fr/forum/viewtopic.php?f=4&t=181
+1 pour le mettre tout en haut s'il vous plait