在批处理文件中将命令的输出设置为变量

时间:2019-03-18 17:38:32

标签: batch-file command-line command-line-arguments

我正在尝试使用此命令在系统中查找Java的路径。

where /r "c:\Program Files (x86)\Java" java.exe 

现在,我想将where命令的输出设置为变量,以便以后可以在批处理文件中使用它。

我尝试使用

set JAVA_PATH = where /r "c:\Program Files (x86)\Java" java.exe

但这似乎不起作用。

任何帮助都受到赞赏。

1 个答案:

答案 0 :(得分:0)

您可以将该命令的结果推送到另一个批处理文件,然后使用call函数调用这些结果,然后使用FOR遍历这些结果。

要输出到另一个批处理文件的代码如下:

where /r "c:\Program Files (x86)\Java" java.exe > path.bat

编辑:生成的path.bat文件如下所示:

c:\Program Files (x86)\Java\jdk1.7.0\bin\java.exe
c:\Program Files (x86)\Java\jdk1.7.0\jre\bin\java.exe
c:\Program Files (x86)\Java\jdk1.7.0_51\bin\java.exe
c:\Program Files (x86)\Java\jdk1.7.0_51\jre\bin\java.exe
c:\Program Files (x86)\Java\jdk1.8.0_144\bin\java.exe
c:\Program Files (x86)\Java\jdk1.8.0_144\jre\bin\java.exe
c:\Program Files (x86)\Java\jdk1.8.0_181_32b\bin\java.exe
c:\Program Files (x86)\Java\jdk1.8.0_181_32b\jre\bin\java.exe
c:\Program Files (x86)\Java\jdk7\bin\java.exe
c:\Program Files (x86)\Java\jre1.8.0_144\bin\java.exe
c:\Program Files (x86)\Java\jre1.8.0_181\bin\java.exe