我想在我的 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:\bin
C:\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 目录,并用指向可执行文件(而不是可执行文件的副本?)的指针填充它?如果是这样,我该如何完成?