質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

解決済

2回答

2652閲覧

powershell windowsの環境変数を設定したがアプリが起動しない

退会済みユーザー

退会済みユーザー

総合スコア0

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

0グッド

0クリップ

投稿2018/11/16 05:17

環境
powershell
windows10

powershellでnotepadとうつとメモ帳が立ち上がりますが、それと同じような感じで環境変数を設定すれば.exeファイルを起動できるのだろうと思ってためしましたが起動せませんでした。

なにをすればアプリを実行できますか?

外部プログラムを起動するだけなら他にいくらでもやり口はありますが、環境変数関係でのやり方をおしえてほしいです。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takasima20

2018/11/16 06:18

どういうexeを、どんな環境変数設定して、どんな書き方で実行したのか? くらいは書いてもらわないと他人には分かりませんよ~
guest

回答2

0

ベストアンサー

後から見たかたがわかりにくいかもしれませんので更新しておきます

GUIでpathを追加する方法

環境変数とpathの違いがわからない方はまずそこから明らかにする必要があります。以下のサイトが参考になるでしょう。
https://yukiwet.com/setpath/
環境変数「Path」に実行ファイルのあるpathを追加します。
イメージ説明

PowerShellで.exeファイルが実行できるようにPathを追加する方法

powershellで環境変数を確認する

$env:path.split(";")

powershellで環境変数を追加する

このやり方ならうまく.exeファイルを実行できるようになります。

$env:path += "実行ファイルがあるPath"

.exeなしでのアプリコマンドをたたいてみてくださいうまくいっているはずです
※注意※この状態ではpowershellを終了した時点で設定したPathは破棄されます。

PowerShellで永続的につかえるPathを設定する方法

PowerShellは必ず管理者権限で起動してください

PS> $oldSystemPath = [System.Environment]::GetEnvironmentVariable("Path", "Machine") PS> $oldSystemPath += "実行ファイルがあるPath" PS> [System.Environment]::SetEnvironmentVariable("Path", $oldSystemPath, "Machine")

設定したPathは以下のコマンドで確認します。

[Environment]::GetEnvironmentVariable('PATH', 'Machine').split(";")

これでPowerShellを再起動してもpathが有効になっているはずです。EnvironmentVariableに関しては各自検索をお願いします。

投稿2018/11/18 23:06

編集2018/11/19 06:38
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

起動したい exeファイルがあるフォルダが環境変数に設定されているのであれば
例えば exeファイルの名前が Bedit.exeであれば
&"Bedit.exe"&"Bedit"っと打つだけで 起動出来ますよ
文字列のままだとそれが実行可能なものとして認識されないので &をつけています。

notepad 等のようにダブルクォーテーションや&をつけなくても実行できるようにするには
exeのファイル名を関数名にして 内容をそのexeの起動にしてあげるだけです。

自分のパソコンでしか利用しないのであればプロファイルに登録するのがいいと思います。
プロファイルの作成

そうでない場合は別スクリプトファイルに記述して.(ドットソース)で読み込むのがいいと思います。

投稿2018/11/16 06:06

編集2018/11/16 06:16
kamikazelight

総合スコア305

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/11/16 07:00 編集

ありがとうございます。 & ですね。&すらめんどくさいので、モジュールにします。ありがとうございました。ベストアンサーです。
kamikazelight

2018/11/16 07:05

powershell_ise で`notepa` まで 打ってインテリセンスを表示してみてください。 そのあとに`c:\`っと打ってインテリセンスを表示してみてください インテリセンスの左側にマークがありますがアイコンが違うと思います。 notepad は単純に最初から定義されているので そのまま実行できるだけです。
kamikazelight

2018/11/16 07:15

すみません...訂正です C:\Windows\system32 フォルダに適当なexe突っ込んでみたら ダブルクォーテーション もなしで実行できました... 少し調べなおします。
退会済みユーザー

退会済みユーザー

2018/11/16 07:15

確認しましたがnotepaでインテリセンスが表示されませn。とりあえず環境変数だけじゃだめってことはわかりました。もっと簡単な方法がありそうですが、やる気が出てきたら、また調べてみようと思います
退会済みユーザー

退会済みユーザー

2018/11/16 07:20

自分もやsystem32はやったような気がしますが、あまり覚えてません。確実なのはモジュールですかね。
kamikazelight

2018/11/16 07:23 編集

ありました。 Set-Item Env:Path "$Env:Path;C:\Program Files\Internet Explorer\" って感じで環境変数にフォルダパスを追加するだけですね ただこの方法だとどのみちプロファイル等で最初に上記のコマンドを実行しないとだめですが... https://win.just4fun.biz/?PowerShell/PowerShell%E3%81%A7%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0PATH%E3%81%AB%E3%83%91%E3%82%B9%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問