【问题标题】:How to store return value from "where" in cmd如何在cmd中存储“where”的返回值
【发布时间】:2015-06-25 02:39:16
【问题描述】:

在一个批处理文件中,我有以下代码:

其中 /R "C:\Program Files (x86)\Java" java.exe

它返回包含 java 可执行应用程序的文件路径列表。如何将列表存储到变量中?

例如,我想知道是否会有这样的工作:

set javapath=where /R "C:\Program Files (x86)\Java" java.exe
echo %javapath%

我希望它会返回 C:\Program Files (x86)\Java\jre7\bin\java.exe

但事实并非如此。谁有答案?

【问题讨论】:

  • 您尝试捕获的是命令的文本输出,但您实际捕获的是退出代码。遗憾的是,没有简单的方法来捕获文本,因此您必须选择一种艰难的方法,例如将其重定向到文件:stackoverflow.com/questions/14952295/…

标签: java batch-file


【解决方案1】:
for /f "tokens=* delims=" %%# in ('where /R "C:\Program Files (x86)\Java" java.exe') do set "javapath=%%#"
echo %javapath%

【讨论】:

  • 只是对这个问题的一个附加问题,我怎样才能从这个列表中获取 java 文件夹的最新修改日期?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-30
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
  • 1970-01-01
  • 2018-12-04
  • 1970-01-01
相关资源
最近更新 更多