Windows上のVSCのターミナルで、cmdやwslコマンドをCommand Prompt(ターミナルの+ボタン横のvから選択)から実行すると、以下のようにコマンドが見つからずエラーになりました。(gitコマンドの実行は問題ない。VSC上のPowerShellでも同様のエラーになる)
>cmd 'cmd' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
そこで、先のCommand PromptでPATHを表示すると以下のようになっていました。(PowerShellの$env:pathも同様)
>echo %PATH% %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;C:\Program Files\Git\cmd;~
これをWindows Terminal上のコマンドプロンプトから同じように実行すると、%SystemRoot%の部分はC:\WINDOWSに展開されており、cmdやwslコマンドは正しく動作します。
そのため、VSCだと環境変数がうまく展開できていないように思えるのですが、%USERPROFILE%は正しく展開できており、%SystemRoot%だけが展開できていないようです。
しかし、VSCのターミナルでSystemRootを表示するとC:\WINDOWSが表示されています。
>echo %SystemRoot% C:\WINDOWS
試しに、SystemRootを展開したパスをPATHに追加したら、案の定正しく動いたのですが、一抹の気持ち悪さがあります。
VSCやWindowsを再起動しても変化ありませんでした。
皆さんのところでは問題ありませんか?何か解決方法はあるでしょうか?

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/07/21 08:03
2023/07/25 14:08