在调用可执行文件时查找命令行使用的路径

时间:2016-04-14 13:07:55

标签: batch-file command-line command-prompt windows-shell

我遇到以下问题:

我想从命令行运行ecd.exe

我已添加完整路径'路径'环境变量。

从命令行调用ecd.exe时,我得到以下输出:

Error: ecd.exe should be located under the Eclipse home directory.

当我在命令行中添加完整路径时,此可执行文件正确运行。

我发现其他path文件夹中存在相同的文件。

但是我无法在文件系统中的任何地方找到它。

如何在调用此可执行文件时找到命令行使用的路径?

1 个答案:

答案 0 :(得分:2)

@ECHO OFF
SETLOCAL
SET "pathd=%cd%;%path%"
SET "pathd=%pathd:)=^)%"
FOR /f "delims=" %%a IN ('echo %pathd:;=^&ECHO %') DO IF EXIST "%%~a\j*.exe" ECHO %%~a

GOTO :EOF

这应该会找到路径上的J*.exe个文件(因为我没有ecd.exe) - 只需用ecd.exe代替j*.exe

它将当前路径追加到由;分隔的当前目录名,然后将结果字符串中的每个)更改为^)

for对连接的增强型路径字符串进行操作,方法是将;替换为&echo - 前一行)之前的插入符号和{{1}在这一行"逃避"使角色&忽视特殊含义并将其视为普通角色。

依次为每个cmd目录提供%%a;查看目录中是否存在文件(path),如果找到该文件,则查看目录名j*.exe