PowerShell 的 adb 命令 (Windows)

PowerShell 的 adb 命令 (Windows)

我是 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识别要运行的程序即可,无论您当前的目录是什么。

相关内容