2010-11-26 2 views
1

レジストリを照会してJREディレクトリを見つけるバッチファイルを作成しようとしています。/fとREG QUERYの出力とカッコの場合、JREホームを検索しようとしています

私は次の出力を返してREG QUERYを使用しています:

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

イムその後、以下のようにJAVAHOME値を返すために/ Fに使用しようとしている:

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

問題はこれですc:¥Program Filesのみが返されます。最初は、次のトークンが次のスペースに分割されている必要があると思っていましたが、それはうまくいかないので、カッコが問題であると仮定しています。

質問:どのように私は正常にregのクエリ出力からjavaパスを取得するのですか?

答えて

0

私はトークンパラメータの使い方を誤解していました。 3 *は、見つかったトークンごとに連続して指定されたパラメータを返します。この場合、私はアクセスする必要がありました:%% Bと%% Cを使って完全なパスを取得します。

関連する問題