如何在批处理文件中将输出存储在 Windows“where”命令的变量中?

use*_*756 1 windows variables command-line path batch-file

我正在使用 Windows 批处理文件中的“where”命令来查找脚本的 java 安装位置

所以通常从命令行,

C:\Users\user>where java
C:\ProgramData\Oracle\Java\javapath\java.exe
Run Code Online (Sandbox Code Playgroud)

现在我需要能够在变量中获取“where”的输出路径以供以后在我的批处理文件中使用,我该怎么做?

我试过类似的东西,

@echo off
cls
set var=1
setlocal enableextensions
for /F "tokens=* USEBACKQ" %%F in ('where java') do (
    set var=%%F
)
echo %var%
endlocal
pause
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

Wil*_*yan 5

你可以尝试这样的事情:

for /f "delims=" %%F in ('where java') do set var=%%F 
ECHO %var%
Run Code Online (Sandbox Code Playgroud)

对我来说,这输出:

C:\Program Files\Java\jdk1.7.0_45\bin\java.exe