Windows 7の環境変数について

このQ&Aのポイント
  • Windows 7の環境変数について調査しました。
  • コマンドプロンプトでコマンドが認識されない問題について解決策をまとめました。
  • Windows 7で通常起動したコマンドプロンプトでもWindowsコマンドを利用する方法をご紹介します。
回答を見る
  • ベストアンサー

Windows 7の環境変数について

プライベートで使用しているWin 7 UltimateのPCについての質問です。 コンピュータはドメインには参加しておらず、ローカルのAdministatorsグループに所属しているユーザを常用しているのですが、「管理者モードではない」コマンドプロンプトからだと、pingなどのコマンドがコマンドとして認識されません。 環境変数は以下のとおりで、「C:\WIndows\System32」には通っているように見えますし、実際そこまでカレントディレクトリを移せば実行できます。 Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT% System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.AC \Core-Static 通常起動したコマンドプロンプトでもWindowsコマンドを使えるようにするには、どうしたらよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • skp026
  • ベストアンサー率45% (1011/2238)
回答No.4

補足でのご報告ありがとうございます。 やはり環境変数を入れ子にしていることが原因です。 入れ子にはしない記述をpathに与えれば解決すると思います。 前回も書きましたが、 コマンドラインで環境変数を入れ子にしても、 期待どおりには動かなかったので、 私はふかく考えず「そういうもの」と思いました。 Microsoftに要望しても良いかもしれないですが、 7の改善・改良の期間は終了してますので、 修正はこれ以降になりそうです。 (英語で頑張って検索すると、もっとわかるかもだけど、今急用が入ったので…)

その他の回答 (3)

  • skp026
  • ベストアンサー率45% (1011/2238)
回答No.3

環境変数が入れ子になってるところが気になります。 ちょっと違いますが、 cmd.exeに環境変数を入れ子で渡したとき、 へんな動きしたので環境変数の入れ子をやめたことあります。 とりあえずコマンドプロンプトから setコマンドの結果の確認が良さそうです。 管理権限の有無の両方で比較です。 あと、私のWindows7の環境変数を確認したところでは、 環境変数の入れ子での設定はされてませんでした。

cypher00
質問者

補足

返答が遅れてしまいました。 1.管理者権限でのSETコマンド実行結果 Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32 \WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-St atic 2.通常起動のコマンドプロンプトでのSETコマンド実行結果 Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\ System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE \Core-Static 管理者権限モードだと、すべて絶対パスでの記載になってますね。

  • kteds
  • ベストアンサー率42% (1876/4424)
回答No.2

pathの問題ではなく、UAC(ユーザーアカウント制御)の問題でしょう。 マイクロソフト サイトを参照してみてください。 http://windows.microsoft.com/ja-jp/windows/what-is-user-account-control#1TC=windows-7

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

1.コマンドプロンプトで、path と打ったときの表示に、C:\WIndows\System32 は出てきますか? 2.ping以外のC:\WIndows\System32にあるコマンドはつかえますか?例えば tasklist 、forfiles など 3.エラーメッセージは下記と同じですか? 'ping' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

cypher00
質問者

補足

回答が遅れてしまいました。 1.実行結果は以下になります。%SystemRoot%\system32が該当するはずです。 PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\ System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE \Core-Static 2.3. 他のコマンドも同様に使用できず、「内部コマンドまたは~」のエラーとなります。

関連するQ&A

  • コマンドプロンプトで、ipconfig  エラー

    自分のIPを調べるコマンド”ipconfig”をコマンドプロンプトから実行したら 『’ipconfig’は内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されていません。』 エラーが発生. ネットで検索し調べると、pathの設定を確認せよ。とのほとんどの助言かと思いまして、 pathに、       %windir%\system32 を加えましたが、効果ありません。ご助言をお願いしたいです。 【実行詳細】 (1)環境変数 Path (Javaを使用しているため、初期状態に加筆しております。) %JAVA\HOME%\bin; %SystemRoot%¥system32; %SystemRoot%;%SystemRoot%¥System32¥Wbem; %SYSTEMROOT%¥System32¥WindowsPowerShell¥v1.0¥ ; C:\Program Files (x86)\MySQL\MySQL Utilities 1.3.4\; %windir%\system32 (2)コマンドプロンプトで、 C:\Users>echo %path% を実行 %JAVA\HOME%\bin; C:\windows¥system32; C:\windows;C:\windows¥System32¥Wbem; C:\windows¥System32¥WindowsPowerShell¥v1.0¥ ; C:\Program Files (x86)\MySQL\MySQL Utilities 1.3.4\; C:\Program Files (x86)\Java\jdk1.6.0_19\bin (1)と(2)が一致していないのも不思議でありますが、pathはちゃんと上書き保存されております。 宜しくお願い致します。

  • setxコマンドが思い通りにいかない

    setxコマンドでシステム環境変数PATHに、パスを挿入しようと思っています。 setx "C:\hoge;%PATH%" /M とすると、なぜかユーザー環境変数にPATHが作られ、値が入ります。 更にユーザー環境変数に作られたPATHの値を除くと、 「C:\hoge;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0" /M」 となっており、なんだかコマンドが正常に処理されていないようでした。 因みにsetx "%PATH%;C:\hoge" /M ならうまくいきますが、パスの優先順位的に最優先させたい為、先頭に挿入したいです。 また、PATHに入っている値は以下の通りです。 %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\ 完全にお手上げ状態です。 どうすると正常に設定が行われるかご教示ください。

  • javaの環境変数PATHについてご教授ください。

    javaの環境変数PATHについてご教授ください。 現状、"c:\"でjavacコマンドを入力すると、「内部コマンドまたは外部コマンド~」 と警告が表示されます。 環境変数については、 ・ユーザ環境変数にJAVA_HOMEを定義し、「C:\Program Files\Java\jdk1.6.0_20」を設定しています。 ・システム環境変数のPATHに、「%JAVA_HOME%\bin;%SystemRoot%;%SystemRoot%\System32;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\」を設定しております。 OSは、vistaです。 【補足】 ・C:\Program Files\Java\jdk1.6.0_20\binにディレクトリチェンジした場合、javacは実行できる。javac.exeはあります。

    • ベストアンサー
    • Java
  • JDBCの環境変数について

    はじめまして。JDBCの環境変数の設定がうまくいかず、プログラムの動作確認が出来ません。プログラムの初心者です。皆さんのお力を貸して頂ければと思います。以下、状況を書き出します。よろしくお願い致します。 <コマンドプロンプト> C:\>javac SelectMySQLJDBC.java C:\>java SelectMySQLJDBC Exception in thread "main" java.lang.NoClassDefFoundError: SelectMySQLJDBC <ユーザー環境変数> PATH=C:\j2sdk1.4.2_10\bin;C:\mysql\bin CLASSPATH=C:\mysql\lib\mysql-connector-java-3.0.17-ga-bin.jar JAVA_HOME=C:\j2sdk1.4.2_10 TOMCAT_HOME=C:\Program Files\Apache Group\Tomcat 4.1 <システム環境変数> Path=%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

  • Pathの設定

     今日は、Pathについて質問致します。  Win XPです  コマンドプロンプトから"Sysedit"で設定したPathを見てやると、 "SET PATH= C:\JUST\JSLIB32; C:\WINDOWS; C:\WINDOWS\COMMAND"と表示されます。  しかし、コントロールパネル⇒システム⇒環境変数から設定されているPathを見ると下のようになっています。 "%SYSTEMROOT%\system32; C:\JUST\JSLIB32; %SYSTEMROOT%; %SYSTEMROOT%\COMMAND; %SYSTEMROOT%\system32\WBEM"  なぜこの両者は違う表示なのでしょうか。  そもそもこの「%」は何を表しているのでしょうか。

  • 環境変数の再帰展開について

    環境変数の中で環境変数を使用したときに、 こちらの思ったように文字列が展開されません。 例. システム環境変数 SystemDrive=C: WORK_PATH=%SYSTEMDRIVE%\temp PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem ユーザー環境変数 PATH=%WORK_PATH%;%PATH% こんな感じでセットされている場合、 コマンドプロンプトでset PATHした場合の結果が異なります。 Vistaでは C:\temp;C:\WINDOWS~ と展開されますが、 Windows XP環境では %SYSTEMDRIVE%\temp;C:\WINDOWS~ と、 %SYSTEMDRIVE%の部分がそのままになってしまいます。 Windowsの環境変数には2種類の属性があり、 上記の環境変数を登録する際は"展開可能"属性にしました。 またレジストリの"Command Processor\EnableExtensions" も1になっていることを確認しています。 ちなみにset WORK_PATHとしたときは、 両方の環境で C:\temp と表示されることから、 環境変数の再帰展開がうまく機能していないと思われます。 XP環境でもVista環境と同じように環境変数の再帰展開をすることは可能でしょうか?

  • バッチファイルで環境変数が設定されません

    よろしくお願いいたします。 Windows XP Pro の command.com において、バッチファイルの中で set コマンドを使って環境変数を設定しても、バッチから抜けると環境変数の設定ができていません。 バッチ終了後の環境変数は全てバッチ開始前と同じ状態です。 command.com のプロンプトで set コマンドを実行すると、環境変数はセットした内容に変化もしくは追加されます。 cmd.exe ではバッチからでもプロンプトからでも set コマンドで環境変数を操作できます。 なぜ command.com 上のバッチから操作できないのかわからず、不便でかないません。 アドバイスをよろしくお願いいたします。 @echo off set foo=word path=c:\ echo %foo% echo %path% 上記バッチを実行すると word c:\ と表示されますが、set コマンドで確認すると FOO は存在しません PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;... と表示されます。 これはバッチ実行前の値です。

  • windows7でpathの設定

    windows7でpathの設定をするために以下のページの 手順通りにやってみました。 http://www.phpbook.jp/install/ ところが何度やってもPATHが通りません。 C:\Users\xxx>php -v 'php' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 pathを確認すると以下の通りです C:\Users\xxx>path PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32 \WindowsPowerShell\v1.0\;c:\Program Files\Intel\DMIX;C:\Program Files\Intel\Serv ices\IPT;c:¥php ちなみにPHPは正常にインストールされているようです c:\php>php -v PHP 5.4.8 (cli) (built: Oct 16 2012 22:30:23) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies どのようにしたら宜しいでしょうか?

  • JAVAのコンパイルができません

    色んなページや雑誌でインストールの方法とかを見てやったのですがうまいこといきません インストールしたのはj2sdk-1_4_2_06-windows-i586-p.exeで環境変数もユーザー変数に 変数名をpath、変数値をC:\j2sdk1.4.2_06\bin 加えました。 それでもコマンドプロンプトを開いて javacを実行しましたが ’javac’は内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されていません。 と表示されます。 どうしたらいいのですか?教えてください ちなみに システム環境変数では ユーザー変数に 変数名がJAVA_HOMEには変数値がC:\j2sdk1.4.2_06 変数名がPathには変数値が%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Justsystem\JSLIB32";C:\j2sdk1.4.2_06\bin となっています

    • ベストアンサー
    • Java
  • システム環境変数を使いたい

    コマンドプロンプトで、cdコマンドでカレントディレクトリを移動する際、 いちいちパスを入力するのが面倒だったので、環境変数というものがあるというのを知り、 マイコンピュータ右クリック→プロパティ→詳細設定→環境変数→システム環境変数→Path に、;c:\xampp\mysql\bin と新たに追加しました。 これを使ってcdコマンドを次のように入力しました。 cd Path 指定されたパスが見つかりません。 私のやった方法でシステム環境変数の設定は間違っていないでしょうか? また、cdコマンドの入力の仕方はこうで合っているのでしょうか?