在 PATH 上创建充满指向可执行文件的指针的 Windows 目录?

在 PATH 上创建充满指向可执行文件的指针的 Windows 目录?

我想在 Windows 安装中创建一个个人 bin 目录,用于存储指向我经常使用的命令行实用程序的指针,就像/usr/local/bin在 Linux 上一样。我希望此文件夹包含指向实际实用程序的指针,因为我喜欢将每个实用程序保存在自己的文件夹中,尤其是当它们可能需要自己的 DLL 或其他可执行文件时。

在 Linux 上,如果我的工具是~/tools/mytool/mytool并且它打印Hello World!,那么这将非常简单:

$ mkdir -p /usr/local/bin
$ ln -s ~/tools/mytool/mytool /usr/local/bin/mytool
$ mytool
Hello World!

在 Windows 上,假设我希望我的/usr/local/bin模拟被称为C:\bin,并且我希望它包含指向的指针C:\PortablePrograms\AndroidSDKPlatformTools\adb.exe。(我宁愿不添加C:\PortablePrograms\AndroidSDKPlatformTools\到我的,PATH因为它有一堆其他我不想直接调用的可执行文件。)我尝试了以下所有方法:

  • 创建指向的adb.lnk快捷方式,并C:\binC:\PortablePrograms\AndroidSDKPlatformTools\adb.exe添加.LNK到我的PATHEXT
  • new-item -itemtype symboliclink -path C:\bin\adb.exe -target C:\PortablePrograms\AndroidSDKPlatformTools\adb.exe
  • new-item -itemtype hardlink -path C:\bin\adb.exe -target C:\PortablePrograms\AndroidSDKPlatformTools\adb.exe

每次执行完这些操作后,我都会尝试运行adb。Powershell 永远不会让命令失败,但它不会执行任何操作。充其量,它可能会将adb的帮助输出弹出到立即关闭的终端中。使用 版本hardlink,它确实会启动一个adb实例,但我只知道,因为我无法删除硬链接,因为它在 中打开adb.exe(可能是adb守护进程正在运行,但同样,我从未获得任何帮助输出。)


有没有办法在 Windows 上创建一个个人 bin 目录,就像我上面描述的那样,并用指向可执行文件的指针填充它(不是可执行文件的副本?)如果是的话,我该如何实现呢?

答案1

有没有办法bin在 Windows 上创建个人目录并用指向可执行文件的指针(而不是可执行文件的副本)填充它?

如果其他方法都失败,请尝试使用批处理文件:

  1. C:\bin如果不存在则创建。

  2. 添加C:\bin到您的 Windows 系统路径变量。

  3. 重新启动Explorer.exe以刷新系统环境变量。这通常是通过注销然后重新登录或重新启动 PC 来完成的。

  4. 创建C:\bin一个名为 的新文本文件adb.bat。请注意,批处理 () 文件的标题.bat应与您想要在控制台中使用的命令相匹配。

  5. 给出adb.bat可执行文件的完整路径,后跟一个空格,然后%*

    C:\PortablePrograms\AndroidSDKPlatformTools\adb.exe %*
    
  6. 打开新的命令窗口。使用adb来调用adb.bat,并扩展为adb.exe

对于您将来想要添加的任何新的可执行文件,请重复步骤 4、5 和 6。

请注意,根据您的脚本偏好,创建一个脚本以半自动方式创建这些文件可能非常容易。

如果您关心调用时命令窗口闪烁的问题adb.bat,那么可能有办法解决这个问题。


顺便说一句,符号链接对我来说从来没有出现过问题。也就是说,与其使用链接或者直接使用 PowerShell,我使用一个名为链接外壳扩展创建软链接。它使选择一个链接源 ( adb.exe) 然后将其拖放到另一个文件夹 ( C:\bin) 变得非常容易。

相关内容