|
562) 環境変数の設定について FLASH 2002/08/20(火) 18:00 |
|
突然失礼します。掲示板の過去ログの方をみてもよくわからないかったので、投稿します。 PATHを設定するときにSETコマンドをAutoexec.batに書き込むときにちょっとした問題がおこりました。 自分のマシンはNTで、 下記の設定にて上手くいきました。 SET PATH = %path%;C:\PROGRA~1\xxxx\bin; ですが、他の方(windows98)のかたに上記の set文を書いていただいたところ上手く認識されませんでした。 SET PATH=%PATH%;C:\PROGRA~1\xxxx\bin; と変更したら上手くいきました。 NTと98のdosのバージョンにてset文のシンタックスが違うことなどあるのでしょうか? |
|
563) Re:環境変数の設定について SYSOP 2002/08/20(火) 19:47 |
|
FLASHさん こんにちは。 >SET PATH = %path%;C:\PROGRA~1\xxxx\bin; >SET PATH=%PATH%;C:\PROGRA~1\xxxx\bin; >NTと98のdosのバージョンにてset文のシンタックスが違うことなどあるのでしょうか? 前者では = の前後に空白が入っていますね。 スペース入れてよかったんだっけ……と、念のためWindows98とWindows2000でSET /?のヘルプメッセージを見てみましたが、どちらでもSETコマンド中の "=" の前後に空白を入れる書き方は紹介されていませんでした。 いいかえると、"PATH=XXXXX"は、それ全体がSETコマンドに渡すべき「ひとまとまりのパラメータ」である、という考え方になっていることになります。 ですから、その途中に(本来パラメータ間の区切り文字である)空白を入れてしまうと、「1つのパラメータしか受け付けないSETコマンドに対して "PATH" "=" "xxxx;xxx;" のような複数のパラメータが渡された」ことになって、DOS/95/98/Me系ではエラーになってしまうというわけです。 一方、NT系で問題が起きないのは、(想像ですが)「空白文字を含むパス指定を許容する仕様であること」と関係しているのではないかと思われます。 いずれにせよ、「仕様外の指定に対する挙動」の話になってしまうし、同じWindowsとはいえもともとの出自が異なるOS間ですので、このぐらいの違 いはあってもしょうがないように思えます。実際、SET PATH=%PATH%;C:\PROGRA~1\xxxx\bin; のように空白をまぜずに書くぶんには、どちらでも問題はないわけですし。 もう1点、前者は%path%が小文字、後者は%PATH%と大文字で記述されていますが、これがエラーの原因になることはないと思います。 YanaKen |
|
565) Re2:環境変数の設定について FLASH 2002/08/21(水) 11:30 |
|
>YanaKenさん お初にお目にかかります。 懇切丁寧な回答ありがとうございました。 現象の件ですが、理解できました。 95系とNT系では、微妙な違いがあるのですね。 でもどちらでも動く文法で記載することのほうが大事ですね。 > もう1点、前者は%path%が小文字、後者は%PATH%と大文字で記述されていますが、これがエラーの原因になることはないと思います。 これについては、後程小文字と大文字両方で確認したところ両方とも動きました。関係しないことがわかりました。 |