Windows初心者です'。Windows用のadbとfastbootファイル(platform-tools)をインストールし、adbに万遍なくアクセスできるように【パス変数にフォルダを追加】1してみました。
調べてみると、Windowsは徐々にPowerShellにシフトしており(これは良いことだ)、いずれはレガシーなCMDを省略することになる(と思う)。そのため、メニューにも「PowerShellのウィンドウをここで開く」というオプションが表示されています。レジストリハックで、quot;Open Command Prompt Here"を追加し、quot;Open PowerShell window here"を削除する方法も知っていますが、PowerShellがCMDよりずっと高度であることを考えると、これはあまりやりたくはないことですね。
さて、platform-toolsをインストールしたフォルダでPowerShellを開き、adbコマンドを実行すると、this と it's successful と表示されます。
.\adb devices
.\adb.exe devices
しかし、別の場所でPowerShellを開いてコマンドを実行すると、not successfulとなります。 パス変数にadbフォルダを追加しても、なぜそのような挙動になるのでしょうか。また、どうすれば汎用的にコマンドを成功させることができるのでしょうか?
そんな中、PowerShell ADB & Fastboot GUIを提供するアプリケーション、PoshADBを見つけました(共有したかっただけなんですけどね)。
Please note: adb devices
は cmd で問題なく動作します、普遍的に。
--
以下の回答から導き出された結論は、。
adbファイルがPATHにない場合。
これらはadbがインストールされているフォルダと同じ場所で動作します:
.ⅳadb.exe devices
.これは普遍的に機能します:
adbファイルが自分のPATHにある場合。
これらはadbがインストールされているフォルダと同じ場所で動作します:
.ⅳadb.exe devices
.これらは普遍的に機能します:
今後の参考までに- (簡潔に言うとPATHにない場合は、フルパスを入力しないと動作しません。PATHにある場合は、adb devices
と入力するか、adbのフルパスを入力すればよいです。)
.˶‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾;;;;;;;;;;;;˵(˵)でコマンド実行すると、PowerShellに対して「このディレクトリだけを見てね」という指示を出しているので、ドットは昔のコマンドプロセッサのように"=このフォルダを意味しています。実行しようとしているものがカレントフォルダになければ、たとえそれが PATH
上にあったとしても、それは失敗することになります。なお、"ドットソース"という用語は、PowerShellスクリプトを自分ではなく現在のスコープで実行することを指し、カレントディレクトリからコマンドを実行するのとは異なる。
ただし、PowerShellは再起動するまでPATH
や環境変数の変更を認識しないので注意しましょう。環境変数を調整し、新しいPowerShellを開いた後は、カレントディレクトリに関係なく、実行したいプログラムを特定するには、単にadb
だけで十分です。