我是 Windows 的新手。我为 Windows 安装了 adb 和 fastboot 文件(platform-tools),并在路径变量中添加了文件夹,这样就可以普遍访问 adb。
我做了一些研究,发现 Windows 正在慢慢转向 PowerShell(这是好事),(我猜)最终会省略传统的 CMD。因此,即使是[Shift+右键]菜单也显示了"在此打开 PowerShell 窗口"的选项。我读过一些文章,也熟悉注册表黑客添加 "Open Command Prompt Here" 并删除 "Open PowerShell window here"的方法,但考虑到 PowerShell 比 CMD 高级得多,我并不想这么做。
现在,当我在安装了 platform-tools 的同一文件夹中打开 PowerShell 并运行 adb 命令时,我得到了this和it's successful。
.\adb devices
.\adb.exe devices
但当我在其他地方打开 PowerShell 并运行该命令时,却出现了不成功。为什么即使我在路径变量中添加了 adb 文件夹,也会出现这种情况?怎样才能普遍成功运行该命令?
在搜索过程中,我发现了一个提供 PowerShell ADB & Fastboot GUI 的应用程序 - PoshADB(只是想分享一下)。
请注意,在 cmd 中,"adb devices "可以正常运行。
--
我从下面的答案中得出的结论:
当 adb 文件不在我的 PATH
中时***
这些文件在安装 adb 的同一文件夹中工作:
.\adb devices
..\adb.exe devices
.这个方法普遍适用:
当 adb 文件在我的 PATH
** 上时
在安装 adb 的同一文件夹中运行:
.\adb devices
..\adb.exe devices
.adb devices
这些方法普遍适用:
adb devices
供我将来参考--(简而言之:如果它不在你的 PATH
中,那么你必须输入完整路径才行。如果它在你的 "PATH "中,你可以直接键入 "adb devices",或提及 adb 的完整路径。)
当您使用 .\
运行命令时,您是在告诉 PowerShell 只能在当前目录下查找它--圆点的意思是"此文件夹",就像在旧的命令处理器中一样。如果要运行的内容不在当前目录下,即使它在 PATH
中,也会失败。请注意,术语"dot-sourcing"指的是在当前范围内执行 PowerShell 脚本,而不是执行它们自己的脚本,这与从当前目录运行命令不同。
如果程序在您的 PATH
中,您可以键入不带 .\
的程序名来运行它。但请注意,在重启之前,PowerShell 不会看到 PATH
或任何环境变量的变化。在调整了环境变量并打开新的 PowerShell 后,只需 adb
即可识别要运行的程序,而无需考虑当前目录。