将wmic命令输出重定向到NUL

时间:2016-05-20 10:50:20

标签: batch-file

我正在使用wmic命令获取特定进程的命令行(如果它正在运行)。方案是在进程正在运行时返回命令行,否则我想将输出重定向到NUL。 在我的情况下,如果进程正在运行我对这段代码很好但是如果进程没有运行(没有java.exe的产生实例)我在控制台“没有可用实例”中得到类似的东西。 如果java.exe未运行,如何避免此控制台输出。 以下是代码的一部分:

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

1 个答案:

答案 0 :(得分: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仅重定向错误输出。

相关问题