有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java有没有办法在CMD中找到命令的映像路径?

例如,有时我在CMD中键入命令时,它会抛出一个错误。 enter image description here

我的电脑里有这么多版本的java。(不是所有的都是我自己安装的,一些软件的目录将包含一个次要的java。)

我知道问题的主要原因是路径环境不正确,但是路径环境包含了太多的目录,(是的,我可以通过逐个排除它们来找出错误。)但我只是想知道是否有办法找到命令的图像路径


共 (1) 个答案

  1. # 1 楼答案

    @ECHO Off
    SETLOCAL
    SET "tempfilename=%temp%\temp###.###"
    (CALL :getpath)>"%tempfilename%"
    FOR /f "usebackqdelims=" %%a IN ("%tempfilename%") DO (
     IF NOT EXIST "%%~a\." (ECHO "%%~a" IN PATH but missing) ELSE (
      FOR %%b IN (java.exe java.dll) DO IF EXIST "%%~a\%%b" (
       FOR %%c IN ("%%~a\%%b") DO (ECHO %%~c IN PATH dated %%~tc %%~zc bytes)
      )
     )
    )
    DEL "%tempfilename%" 2>nul
    GOTO :EOF
    
    :getpath
    ECHO .
    ECHO %path:;=&ECHO(%
    GOTO :EOF
    

    这应该可以找到java的实例。exe和java。dll可通过path访问

    它将路径与.一起列出到一个临时文件中,然后使用该文件作为目录列表来搜索目标文件

    如果找到任何文件,它将显示找到的文件的大小、日期和位置

    如果“size”为零,则找到的目标可能是符号链接