我正在使用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
)
答案 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
仅重定向错误输出。