我想在 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 目录,就像我上面描述的那样,并用指向可执行文件的指针填充它(不是可执行文件的副本?)如果是的话,我该如何实现呢?
答案1
有没有办法
bin
在 Windows 上创建个人目录并用指向可执行文件的指针(而不是可执行文件的副本)填充它?
如果其他方法都失败,请尝试使用批处理文件:
C:\bin
如果不存在则创建。添加
C:\bin
到您的 Windows 系统路径变量。重新启动
Explorer.exe
以刷新系统环境变量。这通常是通过注销然后重新登录或重新启动 PC 来完成的。创建
C:\bin
一个名为 的新文本文件adb.bat
。请注意,批处理 () 文件的标题.bat
应与您想要在控制台中使用的命令相匹配。给出
adb.bat
可执行文件的完整路径,后跟一个空格,然后%*
:C:\PortablePrograms\AndroidSDKPlatformTools\adb.exe %*
打开新的命令窗口。使用
adb
来调用adb.bat
,并扩展为adb.exe
。
对于您将来想要添加的任何新的可执行文件,请重复步骤 4、5 和 6。
请注意,根据您的脚本偏好,创建一个脚本以半自动方式创建这些文件可能非常容易。
如果您关心调用时命令窗口闪烁的问题adb.bat
,那么可能有办法解决这个问题。
顺便说一句,符号链接对我来说从来没有出现过问题。也就是说,与其使用链接或者直接使用 PowerShell,我使用一个名为链接外壳扩展创建软链接。它使选择一个链接源 ( adb.exe
) 然后将其拖放到另一个文件夹 ( C:\bin
) 变得非常容易。