日々情報収集...

2010年12月14日

Windowsコマンドプロンプトのコマンドが通らない場合

前回「Windows7でコマンドプロンプトを使用する場合、管理者として実行する必要がある」という記事を書きましたが、コマンドプロンプトで管理者として実行した場合

C:\windows\system32 > 

となっているのに気づいた方も居られるかと思います。これだとC:\windows\system32からコマンドを読み出しているだけですね。ネットワークコマンドを入力するくらいなら問題ないとは思うのですが。


Windows7, vistaからOSの初期設定時にある事をするとC:\windows\system32へのPathが通ってない事があるようだ。原因は分からないけど...なんだろうね。他人が使ってるPCだと偶にミスで消してしまってる...なんてのも。Windowsコマンドプロンプトでネットワークコマンドなどを利用するには、C:\windows\system32へのパス名を渡してあげる必要がある。とりあえずその方法を書いておきます。





コマンドプロンプトにpathを渡す方法

1.コントロールパネル→システムとセキュリティ→システム→システム詳細設定


2.システムのプロパティ→詳細設定タブ→環境変数をクリックします
f:id:dooluka:20101214223402p:image


3.環境変数からシステムの環境設定→Pathを選択後、編集をクリックします


4.変数値に通したい値を追加します。今回の場合はコマンド関係なので先頭に【C:\windows\system32;】を追加しOKを押します。
f:id:dooluka:20101214223835p:image


これで管理者として実行せずともコマンドが使えるようになったはずです。このことは他のアプリケーションにも言えることで、例えばある実行ファイル(C:¥ProgramFiles¥***¥***.exe)をどこのディレクトリにいても実行したいとする。ならば環境変数→Path(PATH)に【C:¥ProgramFiles¥***;】を追加してあげれば良いという訳だ。セミコロンを最後忘れない様に気をつける必要はあるね。

助かりました!!助かりました!! 2011/04/07 14:28 はじめまして,かなと申します.
いくつかのソフトが微妙に上手く動かずに困っておりましたらこの記事にあるようにsystem32がpathから抜けてしまっておりました.
記事通りに直したところすべてうまくいったのでここでお礼申し上げます.
ただ記事中にあった「OSの初期設定時にある事をするとC:\windows\system32へのPathが通ってない事があるようだ。」の「ある事」
とはなんのことなのでしょうか・・・
特に細かくいじった記憶が無いので少し興味がありました.
もしご存知であればお暇なときに教えてください!!
ありがとうございました!

doolukadooluka 2011/04/08 08:48 かなさんへ
無事に問題が解決したようでなによりでした。

>>ただ記事中にあった「OSの初期設定時にある事をするとC:\windows\system32へのPathが通ってない事があるようだ。」の「ある事」
>>とはなんのことなのでしょうか・・・
この事については私自身も何が問題なのか分かって無かったので、「ある事」という記述にさせていただきました。

あくまでも可能性のひとつに過ぎませんが、OSの初期設定時にアカウントを作らずパスすると、ようこそ画面でAdministratorが表示されます。
その状態でアカウント管理から管理者権限のユーザを作成するとC:\windows\system32のPathが通ってないアカウントが作成される事があるようです。

freemanfreeman 2011/08/21 16:57 初めまして。
先日、7を導入して、ネット速度の改善を試しているのですが、RWINn変更でコマンドプロンプトを管理として実行→次の画面に netsh interface tcp set global autotuninglevel=highlyrestricted を入力したいと思っています。しかし、その入力画面が、C:\windows\system32 > となっていて、入力してもエラーになって困っていました。その後、ここへたどり着いたのですが、自分はOSの初期設定時がどうだったか覚えていないんですが、恐らくコメントのようなやり方をしたのかもしれませんね。
そこで、管理者として実行→C:¥Usere¥アカウント名>との画面にして、 netsh interface tcp set global autotuninglevel=highlyrestricted を入力できる方法があれば助言をいただけないでしょうか?およろしくお願いします。

doolukadooluka 2011/08/22 05:46 freemanさんへ
確かにコマンドプロンプトで【netsh interface tcp set global autotuninglevel=highlyrestricted】を実行するには権限の昇格が必要になり管理者として実行する必要があります。
また、【netsh】コマンドは【C:\Windws\system32\netsh.exe】に保存されており、コマンドが入力されるごとに呼び出され実行されます。

>>管理者として実行→C:¥Usere¥アカウント名>との画面にして・・・
この場合だと【C:\windows\system32;】のPathが通っていない可能性が考えられました。
ですが、
>>その入力画面が、C:\windows\system32 > となっていて、入力してもエラーになっ・・・
この状態が謎です。Pathが通っている通っていないの話では無いような気がします。

C:\Windows\system32>dir /s /b netsh.exe
C:\Windows\system32\netsh.exe
と入力し、system32直下にnetsh.exeがあることを確認してください。

C:\Windows\system32>netsh
netsh>
このように実行できるか確認してください。

本来であれば、下のようになるのですが・・・
C:\Windows\system32>netsh interface tcp set global autotuninglevel=highlyrestricted
OK
C:\Windows\system32>netsh interface tcp show global
アクティブ状態を照会しています...

TCP グローバル パラメーター
----------------------------------------------
Receive-Side Scaling 状態 : enabled
Chimney オフロード状態 : automatic
NetDMA 状態 : enabled
Direct Cache Acess (DCA) : disabled
受信ウィンドウ自動チューニング レベル : highlyrestricted
アドオン輻輳制御プロバイダー : none
ECN 機能 : disabled
RFC 1323 タイムスタンプ : disabled

KaoruKaoru 2014/03/13 15:46 ありがとうございます!
本当に助かりました!

mm 2016/10/03 18:28 ずっと困っていたので,とても助かりました!ありがとうございました!

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証