我是 Windows 新手。我为 Windows 安装了 adb 和 fastboot 文件 (platform-tools),并且在路径变量中添加了文件夹这样我就可以普遍访问 adb 了。
我做了一些研究,发现 Windows 正在慢慢转向 PowerShell(这是件好事),并且(我猜)最终会省略传统的 CMD。因此,即使是[Shift+右键单击] 菜单显示“在此处打开 PowerShell 窗口”选项。我读过一些文章,熟悉添加“在此处打开命令提示符”和删除“在此处打开 PowerShell 窗口”的注册表黑客,但这不是我想要做的事情,因为 PowerShell 比 CMD 先进得多。
现在,当我在安装 platform-tools 的同一文件夹中打开 PowerShell 并运行 adb 命令时,我得到了这和它成功了。
.\adb devices
.\adb.exe devices
但是当我在其他地方打开 PowerShell 并运行该命令时,它不成功。为什么即使我将 adb 文件夹添加到路径变量中,行为仍然如此? 如何才能普遍成功运行该命令?
在搜索过程中,我发现了一个提供 PowerShell ADB 和 Fastboot GUI 的应用程序 -波斯亚行(只是想分享)。
请注意adb devices
在 cmd 中普遍运行良好。
--
我从以下答案得出的结论:
当 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 的完整路径)
答案1
当你使用.\
运行命令时,你告诉 PowerShell 查找仅有的在当前目录中 - 点表示“此文件夹”,就像在旧命令处理器中一样。如果您尝试运行的内容不在当前文件夹中,即使它在 上PATH
,也会失败。请注意,术语“点源”是指在当前范围内执行 PowerShell 脚本,而不是在它们自己的范围内执行,这与从当前目录运行命令不同。
.\
如果程序位于您的 上,您可以键入程序的名称,而无需在任何地方运行它PATH
。但请注意,除非您重新启动它,否则 PowerShell 不会看到对PATH
环境变量或任何环境变量的更改。调整环境变量并打开新的 PowerShell 后,只需adb
识别要运行的程序即可,无论您当前的目录是什么。