• ベストアンサー

Win98で、c:\mysqlとc\phpにPathを通す際の、autoexex.batの記述方法

Win98で、c:\mysqlとc\phpにPathを通したいです。 C:\autexec.batを開くと、 @ECHO OFF LOADHIGH C:\WINDOWS\COMMAND\NLSFUNC.EXE C:\WINDOWS\COUNTRY.SYS と2行だけ書かれていましたが、3行目に、以下のどれを加筆すればいいのでしょうか? (1) PATH=c:\php;c:\mysql (2) PATH=c:\php\;c:\mysql\  →それぞれの末尾に半角円(\)が要る (3) PATH=c:\php;c:\mysql;  →最後に半角セミコロン(;)が要る (4) PATH=c:\php;c:\mysql%path%  →どこかのサイトで%path%という書き方例をみました。

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

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.3

(1)について「(1)の記述で良い」と言うのは間違いです。 正確には「PATH変数を設定している行が、それより上に無いならば、(1)の記述で良い」です。 (2)は、余り気にせずとも良いです。¥はあっても無くても構いません。 ですが「環境変数用のメモリを余分に使いたくない」と理由で「省ける文字は極力省く」為に「付けない」のが良いでしょう。 (3)は、出来れば末尾のセミコロンはあった方が良いです。 セミコロンがないと「%PATH%」を展開した場合に変になる場合があります。 何かのソフトウェアが「自分のパスを、現在のパスの後ろに追加する」と言う事をしたくて PATH=%PATH%C:\Program Files\Other Software\Anyone; とかの行を付け足した時、最後のセミコロンが無いと PATH=c:\php;c:\mysql PATH=%PATH%C:\Program Files\Other Software\Anyone; の2行の実行結果は PATH=c:\php;c:\mysqlC:\Program Files\Other Software\Anyone; になり「c:\mysql」が後ろの「C:\~~」とくっ付いて「c:\mysqlC:\~~」になってしまいます。 ま、普通は「最後のセミコロンがあっても無くても上手く行くように」する為 PATH=C:\Program Files\Other Software\Anyone;%PATH% と言う行を追加するのが普通ですが。 (4)について、既に(3)の部分で説明しちゃってますが PATH=c:\php;c:\mysql%path% は間違いです。これが実行されると、前述の例で言えば PATH=c:\php;c:\mysqlC:\Program Files\Other Software\Anyone; って感じで「くっ付いて変」になります。 PATH=c:\php;c:\mysql;%path% のように「%path%」の直前に「;」が要ります。 あと、下手にシステムディレクトリにパスを通してはいけません。他の回答は間違いです。 本来、システムディレクトリにあるファイルは、パスではなく、レジストリ、Win.ini、Config.sysなどのシステム定義ファイルに書かれたパス位置を元に起動されるべき物です。 これらを下手にPATHで起動してしまうようにすると「システムの監視下にない何でも動いちゃうDOSプロンプト下で、システムに重大な損害を与えかねないシステムプログラムが起動してしまう事故」が発生します。 C:\WindowsやC:\Windows\System、C:\Windows\System32などは、間違ってもPATHに設定してしまってはいけません。「DOSプロンプトで、うっかりタイプミスして、何かのシステムプログラムが動いて、何かを初期化し始めて」からでは手遅れです。

litton101
質問者

お礼

chie65536さん、大変丁寧な解説ありがとうございました。 「\」や「;」をつけるつけないなど、 なんとなく慣習的になっていただけで 理屈や仕組みがさっぱり理解できていなかったのですが、 おかげさまで深く理解できました。 むやみに、やってはいけない設定などもあるのですね・・危なかったです。

その他の回答 (2)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

1の記述で問題ありません。 しかし、システムディレクトリにパスが通っていないのはどうにかしないといけませんね。 ちなみに4の記述はセミコロン(;)が抜けていますよ。 %path% は、既に設定されている path の内容を示すものです。  PATH=c:\php;c:\mysql;%path% であれば、c:\php;c:\mysql; を現在の path に追加すると言う意味になります。

litton101
質問者

補足

早速詳細な解説をいただきありがとうございました。 すみません、システムディレクトリというのは C:\WINDOWSとか、そのしたのSYSTEMとかのことですか? 「どうにかしなければいけない」ものであれば どうにかしたいですが・・・ PATH=c:\php;c:\mysql;c:\windows;%path% とでもすればよいでしょうか? もしよろしければご教示ください。

noname#42041
noname#42041
回答No.1

(1)でいいと思います。

litton101
質問者

お礼

早速ありがとうございました。 起動しなくなったら困るとか思ってビビッいたというか 慎重に対応しようと思っていたのですが。

関連するQ&A