Comment créer un script batch crée certaines entrées de registre dans tous les sous-dossiers

1

Je lisais ceci sur le web:

  1. Appuyez sur Windows Key + R, tapez "regedit" dans la boîte, puis appuyez sur Entrée.
  2. Accédez à ce chemin: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ Interfaces
  3. Répétez les étapes 4 et 5 pour tous les dossiers sous "Interfaces" (vous pouvez avoir de 1 à 100 dossiers sur 14).
  4. Créez deux nouvelles clés de registre appelées "TcpAckFrequency" et "TCPNoDelay" (cliquez avec le bouton droit de la souris sur un scace vide, allez à "Nouveau" et sélectionnez Valeur DWORD (32 bits))

Comment créer un script de traitement par lots qui parcourt tous les dossiers HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaceset ajoute les deux entrées DWORD de "TcpAckFrequency" and "TCPNoDelay"?

Je suppose que la FORcommande est utilisée mais je ne sais pas comment faire.

Edit: J'aimerais aussi connaître le code nécessaire pour parcourir et supprimer toutes ces clés des dossiers.

La glace
la source
Qu'avez-vous réellement essayé pour compléter votre demande?
Smeerpijp

Réponses:

1

Comment créer un script batch qui:

passe en revue tous les dossiers HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaceset ajoute les deux DWORDentrées de TcpAckFrequencyet TCPNoDelay?

J'aimerais aussi savoir le code nécessaire pour parcourir et supprimer toutes ces clés des dossiers.

Avertissement :

  • Les instructions ci-dessous contiennent des étapes vous expliquant comment modifier le registre. Toutefois, des problèmes graves peuvent survenir si vous modifiez le registre de manière incorrecte.

  • Par conséquent, assurez-vous de suivre attentivement ces étapes. Pour une protection accrue, sauvegardez le registre avant de le modifier. Ensuite, vous pouvez restaurer le registre en cas de problème.

  • Pour plus d'informations, voir Comment sauvegarder et restaurer le registre dans Windows


Utilisez le fichier de commandes suivant (test.cmd):

@echo off
setlocal
rem get the keys
for /f "usebackq" %%i in (`reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces`) do (
  rem add the values
  reg add %%i /v "TcpAckFrequency" /d "1" /t REG_DWORD
  reg add %%i /v "TCPNoDelay" /d "1" /t REG_DWORD
  )
rem get the keys
for /f "usebackq" %%i in (`reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces`) do (
  rem delete the values
  echo delete %%i /v "TcpAckFrequency" /f
  echo delete %%i /v "TCPNoDelay" /f
  )
endlocal

Remarque:

  • Remplacez le 1dans /d "1"avec toute valeur appropriée pour votre cas d'utilisation.

Lectures complémentaires

  • Index AZ de la ligne de commande Windows CMD - Une excellente référence pour tout ce qui concerne la ligne de commande cmd de Windows.
  • for / f - Boucle la commande en regard des résultats d’une autre commande.
  • reg - Lecture, définition ou suppression de clés et de valeurs de registre, sauvegarde et restauration à partir d'un fichier .REG.
DavidPostill
la source