2016-11-29 3 views
0

Je souhaite modifier une valeur de registre (un REG_DWORD), puis exécuter une application à l'aide d'un fichier de commandes situé dans le même dossier que le application. J'ai essayé les lignes ci-dessous, mais cela ne fonctionne pas:Modification d'une valeur de registre, puis exécution d'une application à l'aide d'un fichier batch

reg add "HKEY_CURRENT_USER\A User Name\An Application Name" /v A value name_h3981298716 /d "99" /t REG_DWORD /f 

START %~dp0AnApplicationName.exe 

Le code "START ..." fonctionnera sans "reg add ...". Le fichier de commandes peut exécuter une application, mais il ne peut pas modifier une valeur de registre de type REG_DWORD. Comment faire correctement la séquence ci-dessous avec un fichier batch?

  1. D'abord, modifiez une valeur de Registre de type REG_DWORD.

  2. Ensuite, exécutez une application.

+0

Parce qu'il ya quelque chose de mal. S'il vous plaît soyez plus précis! – aschipfl

+0

Essayez d'entourer '% ~ dp0AnApplicationName.exe' avec des guillemets doubles. Chaque fois qu'un fichier batch "ne fonctionne pas" placez autant de 'echo'es utiles là-dedans et démarrez-le en utilisant une invite de commande. Avec cela, vous pouvez vérifier à quel moment le fichier a échoué. – geisterfurz007

+0

Le "START ..." fonctionnera sans le code "reg add ...". Le fichier de commandes peut exécuter une application, mais il ne peut pas modifier une valeur de registre de type REG_DWORD. – Bayu

Répondre

1
reg add "HKCU\A User Name\An Application Name" /v "A value name_h3981298716" /d "99" /t REG_DWORD /f 

Notez que si un nom de valeur contient un espace, il doit être entouré de guillemets doubles. Continuez à faire cela même si un nom de valeur ne contient aucun espace.

Exemple, avec un autre nom clé:

==> reg query "HKCU\Software\Test Key" /t reg_dword 

End of search: 0 match(es) found. 

==> reg add "HKCU\Software\Test Key" /v A value name_h3981298716 /d "99" /t REG_DWORD /f 
ERROR: Invalid syntax. 
Type "REG ADD /?" for usage. 

==> reg add "HKCU\Software\Test Key" /v "A value name_h3981298716" /d "99" /t REG_DWORD /f 
The operation completed successfully. 

==> reg query "HKCU\Software\Test Key" /t reg_dword 

HKEY_CURRENT_USER\Software\Test Key 
    A value name_h3981298716 REG_DWORD 0x63 

End of search: 1 match(es) found. 
+0

J'ai entouré le nom de la valeur par des guillemets, puis j'ai exécuté le fichier de commandes, mais la valeur ne change pas. – Bayu

+0

@Bayu Si la valeur ne change pas, vous devriez recevoir un message d'erreur. Ajoutez une commande 'pause' juste en dessous de' reg add ... 'pour voir le résultat. Vérifiez le succès en utilisant 'reg query ...' de la même manière que dans mon exemple. – JosefZ

+0

Il y avait un message après avoir ajouté "pause" au-dessous du "reg add ...": – Bayu