将命令的输出设置为批处理文件中的变量[重复]

Posted

技术标签:

【中文标题】将命令的输出设置为批处理文件中的变量[重复]【英文标题】:Set the output of command to variable in Batch file [duplicate] 【发布时间】:2019-08-09 03:50:43 【问题描述】:

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

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

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

我尝试过使用

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

但这似乎不起作用。

非常感谢任何帮助。

【问题讨论】:

使用for /f 命令。输入for /? 以获得指导。 这可能对你有帮助:***.com/a/2340018/6163527 【参考方案1】:

您可以将该命令的结果推送到另一个批处理文件并使用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

【讨论】:

以上是关于将命令的输出设置为批处理文件中的变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章

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

使用管道将 Windows 命令解析为批处理文件中的变量 [重复]

批处理文件命令输出到名称中带有日期和时间的文件中[重复]

批量设置命令的输出和错误以分隔变量

bat文件中批处理设置变量延迟的问题

使用 Windows 批处理文件中的命令结果设置变量的值