web-dev-qa-db-ja.com

PowerShellのadbコマンド(Windows)

Windowsは初めてです。 Windowsにadbとfastbootファイル(platform-tools)をインストールし、- パス変数にフォルダーを追加 してadbにユニバーサルにアクセスできるようにしました。

私はいくつかの調査を行ったところ、WindowsはゆっくりとPowerShellに移行しており(これは良いことです)、(おそらく)レガシーCMDは最終的には除外されるでしょう。つまり [Shift + Right click]メニュー でも、「ここにPowerShellウィンドウを開く」オプションが表示されます。私はいくつかの記事を読み、「ここにコマンドプロンプトを開く」を追加し、「PowerShellウィンドウをここに開く」を削除するレジストリハックに精通していますが、PowerShellがCMDよりもはるかに高度であることを考えると、それは私がやりたいことではありません。

これで、platform-toolsをインストールしたフォルダーと同じフォルダーでPowerShellを開き、adbコマンドを実行すると、 this および it's successful が表示されます。

.\adb devices  
.\adb.exe devices  

しかし、PowerShellを他の場所で開いてコマンドを実行すると、それは not successfulです。なぜ、 adbフォルダーをパス変数に?そして、どうすればコマンドを普遍的に正常に実行できますか?

検索中に、PowerShell ADBとFastboot GUIを提供するアプリケーションが見つかりました- PoshADB (共有したかっただけです)。

ご注意ください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
swingcake

.\を使用してコマンドを実行すると、PowerShellに対して、現在のディレクトリでonlyを検索するように指示されます。ドットは、古いコマンドプロセッサと同様に、「このフォルダー」を意味します。実行しようとしているものが現在のフォルダーにない場合、たとえそれがPATH上にあっても失敗します。 「ドットソーシング」という用語は、現在のスコープではなく、現在のスコープでPowerShellスクリプトを実行することを意味します。これは、現在のディレクトリからコマンドを実行するのとは異なります。

PATHにある場合は、.\なしでプログラムの名前を入力して実行できます。ただし、PowerShellは再起動するまでPATHまたは環境変数の変更を認識しないことに注意してください。環境変数を調整して新しいPowerShellを開いたら、現在のディレクトリに関係なく、単にadbで実行するプログラムを特定できます。

1
Ben N