Comment puis-je obtenir la valeur d'une clé de registre à partir d'un script de commandes?

J'ai besoin d'utiliser un REG de la commande de REQUÊTE pour afficher la valeur d'une clé et de définir le résultat dans une variable avec cette commande:

FOR /F "tokens=2* delims=    " %%A IN ('REG QUERY "KeyName" /v ValueName') DO SET Variable=%%B

Mais si la clé n'existe pas, j'obtiens une erreur affiché dans la console. J'ai besoin de cacher cette erreur! J'ai essayé de mettre un 2>nul après la commande pour arrêter le stderr, mais cela fonctionne si je ne l'appel de la commande:

REG QUERY "KeyName" /v ValueName 2>nul

Si je l'ai mis dans la commande comme ceci:

FOR /F "tokens=2* delims=    " %%A IN ('REG QUERY "KeyName" /v ValueName') DO SET Variable=%%B 2>nul

L'erreur est indiqué.
Donc, personne ne sait comment cacher l'erreur? Ou peut-être une autre commande trop voir si une clé existe ou pas?

Grâce

PS: je suis sous Windows XP