用于 PowerShell 的 adb 命令(Windows)

我是 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 命令时,我得到了thisit'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 即可识别要运行的程序,而无需考虑当前目录。

评论(4)