• ベストアンサー

Pathを楽に設定したい

Windows2000で、「システム環境変数」にすでに存在する「Path」変数に、いくつか長めのパスを追加で入れようとしています。入力間違いを避けるためにもバッチファイルを作って設定しようとしたのですが、どうもうまくいきません。 諸般の事情で、Autoexec.batはいじりたくないのです。 プログラムを組んで、レジストリのHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Pahtをいじるしかないのでしょうか。できれば、バッチファイルでチョロチョロっと書いて済ませたいのですけど。

  • pokuda
  • お礼率51% (158/305)

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

  • ベストアンサー
  • redsky
  • ベストアンサー率18% (66/360)
回答No.3

メモ帳でPathを編集して、それをコピーして、環境変数のところにペーストすれば楽ですよ。

その他の回答 (4)

  • kojitti
  • ベストアンサー率32% (449/1386)
回答No.5

>3. コントロールパネルの「システム」から環境変数を見てみると、変化したようには見えません。 「システム」は現状の環境変数を表示するものではないので、コマプロ上で変更してもこちらは変更になりません。 確認するなら、envpath.batを実行したコマプロで"path"と入力すれば変更の確認はできます。 コマンドプロンプトはwindowごとにまったく別のメモリ空間を割り当てられて、DOSの実行環境もWindowsごとになります。で、「システム」で見れる環境変数はコマンドプロンプトを開いたときのデフォルト値です。 なにをするために、環境変数を変更されようとしているのかがよくわからないのですが、すべてのコマンドプロンプトの実行値を変更したいのであれば、「システム」の方を変更し、もしなにかのスクリプトをタイマー起動等で実行させるのであれば、そのスクリプトの中でset pathを実行します。

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.4

Windows 2000/XPの場合、バッチファイルでの環境変数の設定は、開いている『コマンドプロンプト』上でしか機能しません。 ですから、 >envpath.batをダブルクリック しても、何の意味もありません。(バッチファイルが終了すると同時に、開いた『コマンドプロンプト』も閉じてしまうので) 常に、PATHに追加された状態にするなら、ANo.#3の方の回答にあるように、コピー&ペーストするのが一番です。

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.2

パッチファイルで書くなら、 set PATH=%PATH%;追加するパス で、できると思いますが・・・。

  • kojitti
  • ベストアンサー率32% (449/1386)
回答No.1

バッチファイルでどのように書いて、どのようにうまくいかないのですか? システムプロパティの詳細で環境変数を設定するインターフェースがありますが、そちらからの設定ではだめですか?

pokuda
質問者

補足

コントロールパネルの「システム」→「詳細」→「環境設定」でやる場合は、OKです。 うまくいかないのは、 1. envpath.batというファイルを作って、中身は set PATH=%PATH%;C:\Program files\(略) とします。 2. エクスプローラーからenvpath.batをダブルクリックする 3. コントロールパネルの「システム」から環境変数を見てみると、変化したようには見えません。 何か私、思い違いをしているのでしょうか。

関連するQ&A

  • バッチでのレジストリPath環境変数方法

    バッチでのレジストリPath環境変数方法 お世話になっております。 レジストリのPath環境変数をバッチで変更しようとています。 バッチ処理の動きとしては、下記の処理をするバッチを 作りたいのですが、上手くいきません。 ≪処理≫ 1、reg queryで、指定されたPath設定を検索 2、if errorlevel ~ 構文で   if errorlevel 1 goto tran1   goto tran2     2-1、指定されたPath設定がなければ、3へ。   2-2、指定されたPath設定があれば、 4へ。     (指定されたPath環境変数は設定済み)    3、reg addで、Path環境変数を変更する 4、次の処理実施   (指定されたPath環境変数は設定済) 具体的な処理内容は、下記のような記述をしてます。 ≪バッチ内容(例)≫ @echo off reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v path | findstr /i "C:\Program Files\navnt" if errorlevel 1 goto tran1 goto tran2 :tran1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v path /t REG_EXPAND_SZ /d "%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\navnt" /f :tran2 echo 次の処理へ しかし、実行すると、全てTran2へ行く処理になってしまい、Tran1への処理になりません。    ※reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v path | findstr /i "C:\Program Files\navnt"  | findstr /i "C:\Program Files\navnt" 箇所の、findstr が上手く機能してないと思ってます。   オプションもいくつか追加して試しましたが、上手くいきませんでした。  (試)  findstr の /c:文字列 を追加  ⇒ 結果、NG ~ | findstr /i /c:"C:\Program Files\navnt" findstrの記述が原因と思いますが、 ●tran1の reg addへ飛ぶ処理の記述をご教授頂けますか? 宜しくお願い致します。

  • レジストリ操作でデフラグが高速化しますか?

    レジストリ操作でデフラグが高速化しますか? HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management の 「IoPageLockLimit」 の 値のデータを 大きくすると デフラグは 早くなりますか?

  • Win2000のシステム環境変数Path

    バッチファイル上で reg.exeで新たにパスを追加したいんですが、 overwrite(Y/N?)と聞かれて止まります。 止まらずにいくには、どう書いたら良いでしょうか? 教えて下さい。 [コマンド] reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d %Path%;任意のパス /f

  • 起動後すぐに自動再起動

    起動後すぐに自動再起動 OSを起動→パスワード入力→ログインするとDESKTOP画面が現れるのですが すぐに勝手に再起動されてしまいます。 再起動されてから→パスワード入力→ログインすると普通に使えます。 原因がわかりません。助けてください! 原因として思い当たる節はあります。 1、数日前、高速化の為レジストリをいじりました。   下記内容を適用しました。DWORD値が見当たらないものが2、3項目   あったので作成したのですが、それがあやしく思えます。   しかしどのDWORD値を作成したか思い出せないです。 ○「右クリックメニューの表示高速化」 HKEY_CURRENT_USER\Control Panel\desktop 文字列[MenuShowDelay]値[1] ○「現在使用していないDLLを終了」 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer DWORD値[AlwaysUnloadDLL]値[1] ○「青画面になった場合の自動再起動有効」 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl DWORD値[AutoReboot]値[1] ○「PCの動作効率の向上」 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\PriorityControl DWORD値[IRQ8Priority]値[1] ○「エクスプローラのプロセスを分離して高速化」 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer DWORD値[DesktopProcess]値[1] ○「ハードディスクのアクセスの負担を軽減」 HKEY_LOCAL_MACHINE\Software\Microsoft\Dfrg\BootOptimizeFunction 文字列[Enable]値[Y] ○「Windows MessengerとOutlook Explessの同時起動を無効」 HKEY_LOCAL_MACHINE\Software\Microsoft\OutlookExpless DWORD値[Hide Messenger]値[2] ○「ファイルの断片化を極力少なくする」 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem DWORD値[ContigFileAllocSize]値[1000] ○「シャットダウン時に仮想メモリを解放」 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management DWORD値[ClearPageFileAtShutdown]値[1] ○「Windowsカーネルのメモリを最適化」 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management DWORD値[DisablePagingExecutive]値[1] ○「DNSキャッシュを拡張」 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Service\Dnscache\Parameters DWORD値[MaxCacheEntryTtlLimit]値[93a80] ○「ネットワークなどからPCの情報を隠す」 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Service\lanmanserver\parameters DWORD値[hidden]値[1] ○「パケット情報の流入を阻止」 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Service\Tcpip DWORD値[SynAttackProtect]値[2] よろしくお願いします

  • レジストリの規定値

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management のDisablePagingExecutive 上記のレジストリの既定値はいくらでしょうか? 処理速度向上を期待して「1」にて設定してみましたが、 変更前の値を忘れたので困っております・・・ よろしくお願いします!!

  • レジストリからTCP/IP設定を調べたい

    OSは、Windows2000です。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\[数字フォルダ] の下の ServiceName でアダプタIDを調べてから、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\[アダプタID] で、TCP/IP設定を調べられることが解りました。 では、[数字フォルダ] はレジストリのどこを見れば解るのでしょうか?

  • マシン起動時のバッチ実行について

    初めまして。マシン起動時のバッチ実行について、教えてください。 マシン起動時〔WindowsNT〕に、バッチを実行したいのですが、方法はあるでしょうか? AUTOEXEC.BAT や、レジストリも試してみたのですが、〔HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\run〕 ログオンした時に起動するようでした。 ログオンした時に、バッチの痕跡を見せたくないのです。 電源を入れてから、ログオンするまでの間にバッチを実行をするというのは、 可能でしょうか? できれば、バッチが終了するまでは、ログオンできないようにしたいのですが。 可能な場合、どのようにすれば良いか、教えてください。 よろしくお願いします。

  • OSが立ち上がらなくなってしまいました...

    フロッピーディスクの使用制御をかけようとレジストリの値を変更したのですが、違うレジストリを変更してしまい(誤の方の値を4(16進数に変更してしまった))、OSが立ち上がらなくなってしまいました。。。 誤)[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ftdisk] 正) [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Flpydisk] OSから修復セットアップも試みましたがダメでした。 新しく端末を作るのであればいいのですが、そうではなく今までのデータを無くさない方法を探しております。 どなたかご教授いただけないでしょうか? よろしくお願い致します。

  • パスを通すバッチファイルの作り方

    Windowsで、ある処理を行うバッチファイル(.bat)の作り方を 教えてください。 ・機能:システム環境変数 Path に、C:\TestFolderを追加 (パスを通すバッチ) ・変更は再起動後も有効。 ・GUIでの変更方法をわかるので、バッチファイルの記述方法を教えてください。 よろしくお願いします。

  • レジ外リの編集

    本サイトの下記を見ながら設定をトライしています。 http://okweb.jp/kotaeru.php3?q=1586931 レジストリの値の変更は、16進数と10進数の選択が できるようになってますが、どちらを使用するのでしょうか? レジストリ設定の記述部を抜粋します。 *************************************************** ○ スタートメニューの表示を高速化させる HKEY_CURRENT_USER\Control Panel\DesktopでMenuShowDelay の値を1 にする ○ Windows の処理速度を高速化させる HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management のDisablePagingExecutive の値を1 にする ○ Windows のクラッシュ時、「DMP」ファイルを作成しないようにする HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControlのCrashDumpEnabled の数値を「0」にする ************************************************************ 一応16進数の状態で、上記の値に変更してみました。 16進数で合ってますか? 詳しい方、ご教授よろしくお願いします。