2017-09-30 6 views
0
FOR /F "tokens=2*" %%A IN (
    'REG QUERY "HKLM\Software\EA GAMES\Need for Speed Most Wanted" /v InstallDir' 
) DO (set HBMU=%%B) 
GOTO END 

%%ERRORLEVEL%== 1のコードを私のコードに追加する方法は?私が下に置いたとき)DO(HBMU = %% Bを設定したので)は動作しません。.Bat/CMD - reg.exe> nul 2>&1で「ERROR」を隠す

enter image description here

+2

、 '... /インストールディレクトリV ^> NUL 2 ^> ^&1'' – Magoo

答えて

1

ライン2上のレジストリキーの残りの部分が完了した後、これを試してみてください。それ以外は何もように、ループから出力されません

For /F "Skip=1 Tokens=2*" %%A In (
    'Reg Query "HKLM\SOFTWARE\..." /V "InstallDir" 2^>Nul' 
) Do Set "HBMU=%%B" 

をあなたがNulの両方にリダイレクトすることはできません変数%%B

あなたのコメントコードが何をすべきかを行う完全なスクリプトです。 (ソフトウェアがオペレーティングシステムのアーキテクチャに従ってレジストリに情報を置いている限り)。私の頭の上オフ

@Echo Off 
Set "EAG=EA GAMES\Need for Speed Most Wanted" 
Set "RKM=\" 
Reg Query "HKLM\Hardware\Description\System\CentralProcessor\0"^ 
    /V "Identifier" 2>Nul|Find /I "x86">Nul||Set "RKM=\Wow6432Node\" 
For /F "EOL=HTokens=2*" %%A In ('Reg Query "HKLM\Software%RKM%%EAG%" /V^ 
"InstallDir" 2^>Nul') Do Start "" "%%~B\unins000.exe" 
Pause 
+0

"スキップ= 1" が重要なのですか?それはなんのためですか? –

+1

このタイプのレジストリ検索は無視する必要はありません。いずれにしても、必要な値で上書きされる直前に、最初の出力行_(レジストリキー)_の3番目のトークンを設定しようとします。 – Compo

+0

OK。とにかく 'If%ERRORLEVEL%== 1 goto CLOSE'を自分のコードに追加する方法は?なぜなら ')DO(HBMU = %% Bを設定します)'の下に置くとうまくいかないからです。 –

関連する問題