2016-05-20 16 views
0

特定のプロセスが実行されている場合、wmicコマンドを使用して特定のプロセスのコマンドラインを取得しています。このシナリオでは、プロセスが実行されている場合はコマンドラインを戻し、それ以外の場合は出力をNULにリダイレクトします。 私のケースでは、プロセスが実行されている場合、私はこのビットのコードでうまくいきますが、プロセスが実行されていないと(java.exeのインスタンスが生成されていない)、コンソールの「インスタンスが使用できません。 java.exeが実行されていない場合、このコンソール出力を回避する方法。あなたはこれを試みることができるwmicコマンド出力をNULにリダイレクト

for /f "skip=1 tokens=7" %%f in ('wmic process where "name='java.exe'" get commandLine') do (
set v=%%f 
goto function 
) 

答えて

0

:まだ戻って通常の出力を与えながら

for /f "skip=1 tokens=7" %%f in ('wmic process where "name='java.exe'" get commandLine 2^>nul') do (
set v=%%f 
goto function 
) 

これは、NULするプログラムのすべてのエラー出力を返します は、以下のコードの一部です。 >^でエスケープする必要があることに注意してください。特殊文字であるためです。

おそらく気付いたように、>nulは通常出力をリダイレクトしますが、2>nulはエラー出力のみをリダイレクトします。

+0

完璧!出力をNULにリダイレクトしていたため、正のシナリオでも正常な出力が得られませんでした。ありがとう、トン! :) –

関連する問題