2010-11-26 21 views
1

Im essayant d'écrire un fichier batch pour trouver le répertoire JRE en interrogeant le registre.Pour/f et REG QUERY sortie et parenthèses, essayant de trouver JRE à la maison

J'utilise REG QUERY qui revient la sortie suivante:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java RuntimeEnvironment\1.6 
JavaHome REG_SZ C:\Program Files (x86)\Java\jre6 

Im puis essayer d'utiliser FOR/F pour retourner la valeur JavaHome comme suit:

FOR /F "usebackq skip=2 tokens=3*" %%B IN (`REG QUERY "%JAVA_VERSION%" /v %JAVA_HOME_NAME% 2^>nul`) DO (
echo %%B) 

problème est renvoie uniquement c: \ Program Files. Au début, je pensais que c'est bien, j'ai juste besoin du jeton suivant comme sa division sur l'espace suivant, mais cela ne fonctionne pas, donc je suppose que c'est les parenthèses qui est le problème.

La question est, comment puis-je récupérer le chemin java à partir de la sortie de requête reg?

Répondre

0

Je l'ai compris, j'ai mal compris l'utilisation du paramètre tokens. 3 * retournera les paramètres nommés consécutivement pour chaque jeton qu'il trouve. Dans ce cas, j'ai besoin d'accéder à: %% B et %% C pour obtenir le chemin complet.