Batch host

Fermé
panzoed Messages postés 3 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 12 mai 2021 - 12 mai 2021 à 17:39
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 14 mai 2021 à 12:40
Bonjour

J'ai repris d'un fichier pour modifier le host et modifié pour moi
Je sais rajouter la ligne que je veux seulement j'aimerais pouvoir faire un test si la ligne existe afin de ne pas avoir de doublons.
Ici j'ai fait un exemple avec ccleaner mais j'aimerais pouvoir le faire avec n'importe quel nom que j'aimerais mettre dans le host.

Je vous met en copie mon fichier.

S' il y a des erreurs n'hésitez pas à me le dire aussi.

Merci d'avance.

@echo off
CLS
ECHO.
ECHO =============================
ECHO D‚marrage Admin shell
ECHO =============================

:init
setlocal DisableDelayedExpansion
set cmdInvoke=1
set winSysFolder=System32
set "batchPath=%~0"
for %%k in (%0) do set batchName=%%~nk
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
setlocal EnableDelayedExpansion

:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )

:getPrivileges
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
ECHO.
ECHO **************************************
ECHO Invoking UAC for Privilege Escalation
ECHO **************************************

ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"
ECHO Next >> "%vbsGetPrivileges%"

if '%cmdInvoke%'=='1' goto InvokeCmd

ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
goto ExecElevation

:InvokeCmd
ECHO args = "/c """ + "!batchPath!" + """ " + args >> "%vbsGetPrivileges%"
ECHO UAC.ShellExecute "%SystemRoot%\%winSysFolder%\cmd.exe", args, "", "runas", 1 >> "%vbsGetPrivileges%"

:ExecElevation
"%SystemRoot%\%winSysFolder%\WScript.exe" "%vbsGetPrivileges%" %*
exit /B

:gotPrivileges
setlocal & cd /d %~dp0
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)


if %errorLevel% GTR 0) (
goto erreur_droits
)



::Ecriture de la ligne dans le fichier de host
:: @ToDo Il faut v‚rifier que l entr‚e n'existe pas

echo. >> %SystemRoot%\system32\drivers\etc\hosts
echo # ccleaner >> %SystemRoot%\system32\drivers\etc\hosts
echo 127.0.0.1 license.piriform.com >> %SystemRoot%\system32\drivers\etc\hosts
echo 127.0.0.1 https://www.ccleaner.com/ >> %SystemRoot%\system32\drivers\etc\hosts



echo Nouvelle ligne ins‚r‚e dans le fichier host


::Permet de ne fermer la fenêtre que lorsque l utilisateur appuie sur une touche


:: Texte affiche si les droits d exécution du fichier ne sont pas suffisants
:erreur_droits
echo Ce script doit ˆtre lance en administrateur pour fonctionner

::Permet de ne fermer la fenêtre que lorsque l utilisateur appuie sur une touche
:: mettre pause > null pour ne pas afficher le message
pause

1 réponse

barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 4 921
14 mai 2021 à 12:40
0