• 締切済み

WindowsのPATHの設定と有効性について

Windows10での環境変数のパス指定はコンパネ→システム→システムの詳細設定→環境変数と進んで環境変数PATHを編集して指定することができます。確認したのですが、確かにそうなっています。スペルミスも発見できません(昔と違って表のようになってます)。それを指定した後、パワーシェルでその新規に指定したパスでの実行ファイルを入力しても実行しません。実行ファイルが見つからないというメッセージです。 環境変数PATHがどうなっているか調べるためにコマンドプロンプト(パワーシェルじゃないもの)でPATHコマンドを入力してみると確かに指定されていません。指定したフォルダが入っていないのです。 設定しているのに、設定されていないようになっている理由が不明です。なせ有効にならないのだろうと思うのですが。例えばフォルダ名が.abcのように隠しファイルのようなドットが先頭に入っているとダメなのでしょうか。確かに設定されているのに、何かの理由で有効になっていない理由が知りたいのですが。そして有効化したいのです。よろしくお願いします。

みんなの回答

  • kteds
  • ベストアンサー率42% (1882/4440)
回答No.7

No.6 添付画像の追加です。

  • kteds
  • ベストアンサー率42% (1882/4440)
回答No.6

No.3です。 260文字という制限が理由なのであれば、制限を解除してみてはどうでしょうか。 添付画像参照。

  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.5

システム環境変数とユーザー環境変数の違いを確認してみましたか? システム環境変数だとWindowsの再起動、ユーザー環境変数なら再ログインしてみてください。 面倒だからどちらの場合も再起動したほうがいいかもしれませんねw で、PATHの設定が反映されているかどうかは「PATH」と入力すればいいはずです。 システム環境変数とユーザー環境変数で同じ環境変数メロイを設定してあれば合体して表示されるはず。 で、一つ一つのパスをdirコマンドを実行すればスペルミスとか記述ミスを発見できると思う。 PATHの中身はセミコロン(:)で区切られているからテキストエディタに貼り付けてセミコロンの位置で改行して分割すればやりやすいかな? そのへんはご自分で工夫してください。何かの言語を使ってプログラム作ってもいいですしww プログラミングするなら、環境変数の値を取得し、セミコロンで分割・配列変数に。配列に格納したパスのファイル一覧を表示させる。 ミスがあればエラーになる。 って感じでしょうか?

skmsk1941093
質問者

お礼

回答ありがとうございます。本件について進展がありました。PATHが効いてないということです。なぜなら、長すぎるからとのいうことです。 では短くすればいいのですが、案外面倒ではないかと思います。あまり使わないソフトのアンインストールを少しやって、さらにPATHの列の中で重複しているものを消すとかです。重複があるというのも驚きですが(それぐらいOSが整理してくれていたんじゃないかと思っていました)。システムとユーザのPATHについて両方とも同じものが設定されているとかにも気づきました。PATHの内容を少しづづ短くするのではダメで修正によって文字数制限以下にしないと修正変更が有効になりません。こまめな修正ではダメみたいです。

  • chachaboxx
  • ベストアンサー率23% (412/1777)
回答No.4

No1 追伸です 試しに現在パスが通っているフォルダ(ディレクトリ)に実行ファイルを移動し、パスの通ってないフォルダから abc.exe は実行できるのでしょうか? また、実行フォルダのアクセス権とかの影響は大丈夫でしょうか?

  • kteds
  • ベストアンサー率42% (1882/4440)
回答No.3

環境変数のPATH指定の考え方は合っています。 Powershell でも コマンドプロンプトでも abc と入力すれば abc.exe が実行できるはずです。 したがって、他の単純な理由ではないでしょうか。 > なせ有効にならないのだろうと思うのですが。 いったんログアウト後に試していますか。 環境変数が反映されるのはログアウト後です。(PC再起動は必要ありません) > .abcのように隠しファイルのようなドットが先頭に入っているとダメなのでしょうか。 実名が abc なのであれば 実名を使用してください。

  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.2

PATH環境変数をコントロールパネルで編集した後で新たにPowerShellを起動して、その中で$env:PATHを実行してみてください。 環境変数を編集する前から起動済みのPowerShellは影響を受けません。

  • chachaboxx
  • ベストアンサー率23% (412/1777)
回答No.1

ソフト(プログラム)が環境変数を見に行くように設計されていないと、環境変数が設定されていても反映されません。 実行ファイルのプロパティで実行時フォルダを設定する方法ではダメなのでしょうか?

skmsk1941093
質問者

お礼

回答ありがとうございます。現在問題になっているのはシェルからコマンドを入力するだけなのです。実行ファイルは確実に保存されており、シェルでその場所に移動して./abc.exe のように実行できます。パスが通っているのでシェルがどのフォルダにいても動作するはずなのですが。現在の状況はそれがどこにもないという反応なのです。シェル(これもソフトといえるかもしれませんが)が対応していないということあるのでしょうか。

関連するQ&A