Changer des valeurs en fonctions des choix de l'utilisateur

Fermé
WtfOrange Messages postés 16 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 22 août 2017 - 20 août 2017 à 19:58
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 22 août 2017 à 22:56
Bonjour,

Je souhaite savoir :

Comment changer des valeurs en fonctions des choix de l'utilisateur de mon .bat

En gros je veux faire un .bat que je convertirais en .exe plus tard

"Regedit Maker".

Ce logiciel va créer un .reg qui contiendras des valeurs pour le Tcpip dans le regedit

Et en fait je vais poser plusieurs questions :

echo Choice your MTU

Your MTU : exemple 1500

et bah j'aimerais que ça mette cette valeur dans le .reg et si ce n'est pas 1500 bah ça le change donc en gros ça mette le MTU de la personne genre si c'est 1492 bah ca mettras 1492 ou encore d'autres valeurs personnalisées par l'utilisateur

Donc en gros faire une valeur personnalisée en fonction de ce que l'utilisateur met et pas devoir faire une valeur fixe imposée par moi même.


Un énorme merci si vous pouvez m'aider !

Cordialement, Un mec perdu.

A voir également:

4 réponses

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
21 août 2017 à 00:33
Bonjour,

Voilà un modèle :

@echo off
title Modification du MTU
mode con: cols=65 lines=20
Setlocal enableextensions enabledelayedexpansion
color 0A & chcp 1252 > nul

set key=HKLM\System\CurrentControlSet\Services\TcpIP\Parameters\Interfaces

:saisie
cls & echo. & set "mtu="
set /p "mtu=### Entrez la valeur MTU souhaitée : "

if defined mtu (Call:action mtu || goto :saisie) else (goto :saisie)

endlocal

echo. & echo ### La valeur a bien été modifiée !
echo. & timeout /t 8

exit /B

:action
for /f %%A in ('reg query %key%') do (>nul 2>&1 reg add %%A /v MTU /t REG_DWORD /d !%1! /f)
goto :eof

rem

0
WtfOrange Messages postés 16 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 22 août 2017
21 août 2017 à 02:25
Wow ! ça fait beaucoup ça ^^ Mais il n'y a pas plus simple ? Parce que je ne veut pas mettre que le MTU dans le programme genre pour mieux expliquer :


L'utilisateur choisi :

-MTU
-Latency / Reach / Knockback .. et peut être d'autres choses plus tard..

Les valeurs qui sont pour Latency / Reach / Knockback sont des valeurs TCPNoDelay et TcpAckFrequency qui seront misent en goto:latency .. etc ça je me charge j'ai compris comment faire, mais c'est pour le MTU que je bloque vu que c'est justement une valeurs propre à l'utilisateur donc je ne peux pas la choisir à sa place..

Mais merci quand même pour m'avoir répondu !
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 21 août 2017 à 10:18
Voilà une version simplifiée :

@echo off

set key=HKLM\System\CurrentControlSet\Services\TcpIP\Parameters\Interfaces

set "mtu="
set /p "mtu=### Entrez la valeur MTU souhaitée : "

for /f %%A in ('reg query %key%') do (reg add %%A /v MTU /t REG_DWORD /d %mtu% /f)

pause

exit
0
WtfOrange Messages postés 16 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 22 août 2017 > barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024
21 août 2017 à 14:27
Il y a un problème, le scrip est bugué

Et ça serait possible de le faire mais que ça ce mette dans un .reg et non que ca se mette déjà en bat ? ^^
0
WtfOrange Messages postés 16 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 22 août 2017
21 août 2017 à 14:24
Merci, je vais essayer :)
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > WtfOrange Messages postés 16 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 22 août 2017
Modifié le 21 août 2017 à 15:04
De quel bug s'agit-il ?

Tu ne peux pas passer par un fichier .reg car le nom des interfaces réseaux est composé de caractères aléatoires.
0
WtfOrange Messages postés 16 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 22 août 2017
21 août 2017 à 22:30
Hmm d'accord mais attends je te passe un lien d'une vidéo Youtube, en gros je voudrais faire comme lui à peut prêt, mais moi le faire Gratuit car ce mec vend ça 15$ ^^

https://www.youtube.com/watch?v=vbb-pf0nbk4
0
WtfOrange Messages postés 16 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 22 août 2017
22 août 2017 à 16:39
UP
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
22 août 2017 à 16:57
Pas besoin de te casser la tête, il y a un beau logiciel tout fait :
https://www.youtube.com/watch?v=ngHKwrR-8fU
0
WtfOrange Messages postés 16 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 22 août 2017
22 août 2017 à 16:59
Je connais ce logiciel mais ce que je vais faire ne va pas être que pour moi, je vais partager ce que je vais faire et j'ai vraiment envie de le faire ^^
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > WtfOrange Messages postés 16 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 22 août 2017
22 août 2017 à 17:05
Pourquoi le mec dans ta vidéo demande le nombre de coeurs du processeur et le type de connexion ? Ca n'a aucun intérêt, tu confirmes ?
0
WtfOrange Messages postés 16 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 22 août 2017
22 août 2017 à 17:56
Ouai je sais pas du tout pourquoi c'est vraiment bizarre mdrr
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
22 août 2017 à 22:56
J'ai tout fait via un script, car un .reg ne serait pas compatible avec un autre pc :

@echo off
Setlocal enableextensions
chcp 1252 > nul


:: ----------------------------------
:: on récupère l'adresse ip locale
:: ----------------------------------

for /F "tokens=16" %%i in ('ipconfig ^| findstr /C:"Adresse IPv4" ^| sort /R') do (set local_ip=%%i)


:: ---------------------------
:: on définit les variables
:: ---------------------------

set key1=HKLM\System\CurrentControlSet\Services\TcpIP\Parameters\Interfaces
set key2=HKLM\SOFTWARE\Microsoft\MSMQ

echo. & set "mtu="
set /p "mtu=### Entrez la valeur souhaitée pour le MTU : "

echo. & echo ### Tapez 1 pour le mode JEU
echo. & echo ### Tapez 2 pour le mode NORMAL

echo. & set "choix="
set /p "choix=Votre choix : "


:: ----------------------------------
:: on lance la fonction paramétrée
:: ----------------------------------

if "%choix%"=="1" (call :tweak 1 1)
if "%choix%"=="2" (call :tweak 2 0)


:: -----------------------------
:: fin du programme principal
:: -----------------------------

endlocal

echo. & echo ### Les modifications ont été effectuées avec succès !!!
echo. & pause

exit /B


:: -------------------------------------------------
:: on modifie le registre à l'aide d'une fonction
:: -------------------------------------------------

:tweak

echo.

for /f %%A in ('reg query %key1%') do (

for /f %%E in ('2^>nul reg query %%A /v "IPAddress" ^| findstr "%local_ip%"') do (

reg add %%A /v MTU /t REG_DWORD /d %mtu% /f
reg add %%A /v TcpAckFrequency /t REG_DWORD /d %1 /f

)

)

reg add %key2%\Parameters /f
reg add %key2%\Parameters /v TCPNoDelay /t REG_DWORD /d %2 /f

goto :eof

rem
0