• ベストアンサー

絶対パス、相対パス、環境変数の概念が掴めない

絶対パス相対パス環境変数についていまいち概念が掴めないのでどなたかご教示いただけないでしょうか? 絶対パスというものは指定のフォルダなどへの行き道をしていしたもの、相対パスはある程度のものだけきじゅつしてあるしか認識できておりません。 ググって探してみてもいまいちいい内容がなくて・・・ 何かいい知識の身につけ方があったら教えてください。 あと例えばCGIを使うためにActivePerlなどを入れたときに絶対パスで指定する方法があるとか言うのはどういった意味なのでしょうか?

  • Perl
  • 回答数3
  • ありがとう数2

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

  • ベストアンサー
回答No.2

兄弟を呼ぶときに、 おにいちゃんと言うのが相対パス。 名前で言うのが絶対パス。 相対パスは位置“関係”をあらわすもので、基準の位置が変わればあらわされる位置も変わります。 三男から次男はお兄ちゃんですが、長男から次男は弟です。お兄ちゃんとか弟というのは相対的な表現です。 対して、絶対パスは位置そのものです。次男がヒロシという名前だとしたら、相対的にはおにいちゃんだったり弟だったりしましたが、名前のヒロシは誰から言ってもヒロシです。絶対的な表現。 パスについても同じです。 こんなんでどうでしょう?

その他の回答 (2)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.3

絶対パス ルートディレクトリ(root:根)を起点にした経路(path)表記 相対パス カレントディレクトリ(current:現在の)を起点にした経路(path)表記 具体例での説明は ANo.1 のとおりです,が… > 相対パス「../Program Files\Internet Explorer\IEXPLORE.EXE」 > (「../」は「一つ上位のディレクトリ」を意味します。 > 相対パス「./Internet Explorer\IEXPLORE.EXE」 > (「./」は「現在のディレクトリ」 …はすべて,「../」ではなく「..\」,「./」ではなく「.\」が正しいです。 ディレクトリ表記に,¥を使うのがWindows系OS,/を使うのがUNIX系OSなので。

回答No.1

絶対パスと相対パスについてですが、これはファイル等を指定する時にそのファイルをどのように捉えるかの違いです。 例えば、今あなたはWindowsで「C:\WINDOWS」を開いているとします。 ここから「InternetExplorer」の本体をそれぞれの方法で記述すると… 絶対パス「C:\Program Files\Internet Explorer\IEXPLORE.EXE」 相対パス「../Program Files\Internet Explorer\IEXPLORE.EXE」 となります(「../」は「一つ上位のディレクトリ」を意味します。今開いている場所が「C:\WINDOWS」の為、一つ上位のディレクトリは「C:\」となる訳です)。 では、今開いている場所が「C:\WINDOWS」ではなく「C:\Program Files」だった場合はどうなるでしょう。 この場合は… 絶対パス「C:\Program Files\Internet Explorer\IEXPLORE.EXE」 相対パス「./Internet Explorer\IEXPLORE.EXE」 となります(「./」は「現在のディレクトリ」、つまり「C:\Program Files」を指しています)。 ここからわかるように、絶対パスは自分(あなたが開いている場所、あるいはパスが記述されているスクリプト自身)がどこにあっても変わらない絶対的なものであるのに対して、 相対パスは自分と対象ファイル(ディレクトリ)との関係でパスが変わってくるという相対的なものであるといえます。 環境変数に関しては以下の参考URLを参考にしてみてください。

参考URL:
http://ja.wikipedia.org/wiki/%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0

関連するQ&A

  • 相対パスか絶対パスって何?

    CGIサイト内検索を設置したいと思っていますが、相対パスか絶対パスって言う言葉が出てきます。 (例)path/にはsearch.cgiまでの相対パスか絶対パスが入ります。 相対パス・絶対パスとは何でしょう? サーバーにあるホームディレクトリのフルパスとは違うのですか? 教えてくださいお願いします。

    • 締切済み
    • CGI
  • 相対パスか絶対パス??

    CGIサイト内検索を設置したいと思っていますが、相対パスか絶対パスって言う言葉が出てきます。 (例)path/にはsearch.cgiまでの相対パスか絶対パスが入ります。 相対パス・絶対パスとは何でしょう? サーバーにあるホームディレクトリのフルパスとは違うのですか? もしフルパスと同じだと言った場合・・・ 「path/にはsearch.cgiまでの相対パスか絶対パスが入ります」ではフルパスが/home/hatenaだった場合は 下記にはどのようにはいるのでしょうか? (例)<form method="GET" action="path/search.cgi"> 再投稿ですが、もうチョット具体的に書いてみました 教えてくださいお願いします。

    • 締切済み
    • CGI
  • 相対パスから絶対パスの取得

    相対パスを指定することにより、絶対パスを取得したいのですが・・・。 どうすればいいでしょうか? ■状況■ VB6.0 Windows2000 ひとつ上の階層に行きそこのTableフォルダ内のsample.htmlのパスを取得したい。 Dir$("..\Table\sample.html")としてみたのですができませんでした。

  • 絶対パス・相対パス・ディレクトリ・について

    HTMLでホームページを作ろうとしている初心者です、教えてください 自分のホームページのフォルダの中ににリンクするパスの指定方法を相対パスというのはわかりましたが、画像を表示するためのパスの指定方法も相対パスでいいのでしょうか、それともディレクトリというんでしょうか?

  • 絶対パスから相対パスへ

    HPビルダーを使ってHPを作っています。 この度、サーバの方にFTPを使いサイトを 転送したのですが、一部サイト内からサイト内に 飛ぶ際にURLが絶対指定になっていて飛ぶ事が できませんでした。そこで絶対パスから相対パス への変更方法が載っているページをIBMのページで 見つけたのですが、意味が分かりませんでした。 この際、幾つかの絶対パスを相対パスに変更する 作業は一つ一つしなければならないのですか? それと変更する際の具体的手順を詳しく教えて いただきたいです。

  • CGIなどは絶対パスでも良い?相対パス?SEO的

    こんにちはサンタです。 よろしくお願い致します。 php,perlで作成された メールフォームCGI スケジュールCGI カレンダーCGI を、ホームページに設置致しました。 ネット上で動いております。 さて、これらのCGIを設置するのには、例えばschedule.cgiなどは、相対パスとして、リンクしたほうが宜しいのでしょうか? 現在は、相対パスなのですが、メンテナンスを考えますと、絶対パスの方が、楽だと感じました。ですが、SEO的には、相対パスでリンクしたほうが良いのかなと思い、質問させて頂きました。 1,技術的な不具合の問題があるか、、、。 2,SEO的な問題があるか、、、。 どうぞ、よろしくお願い致します。 失礼致します。

    • ベストアンサー
    • CSS
  • 相対パスについてです。

    相対パスで、 ┏/ ┣cgi-bin/second/┳here.cgi ┃    ┗jcode.pl ┃ ┣data/┳there/   ┗overthere/one.html here.cgi > there/を指定するにはどうしたらいいのですか? また、相対パスについて説明お願いします(サイトでもOK)

    • 締切済み
    • CGI
  • 相対パスが使えない

    EXCELのファイルを呼び出したいのですが,絶対パスで e:\vb6.0\book1.xls と指定するとファイルが開くのですが, 相対パスで .\book1.xls と指定するとファイルが開けません。 なぜでしょうか? EXCELのファイルとvbのファイルは同じフォルダ内にあります.

  • 相対パスでExcel Bookのオープン

    こんにちわ。 相対パスでブックをオープンしようとすると、 「オブジェクト変数、またはwithブロック変数が設定されていません。」というエラーが表示されてしまいます。 絶対パス指定だと、正常にオープンできますし、同じ相対パス指定で、ブックのコピー&ペーストもできています。 なぜなのでしょうか?

  • 相対パスを絶対パスに変換したい

    こんにちは。 いつもお世話になっております。 ファイルユーティリティ関連のOCXを作成しておりまして、行き詰まってしまいました。 どうかご教示下さい。 内容はタイトルの通り、相対パスを絶対パスに変換したいというものです。 OCXの作りとして、VBから絶対パス、相対パスが区別なく渡されるものとしてどちらでも絶対パスとして内部的に扱いたく思います。 例えばD:\test\bin、D:\test\workというフォルダが存在するとして、 D:\test\bin\sample.exe内で ".\..\work"が渡された場合に OCX内部で"D:\test\work"に変換するというものです。 以下のようなコードも試してみたのですが、どうもうまく動きません。 if(_fullpath(ApsPath, RelPath, 0x100) == NULL){ //変換失敗の場合 ApsPath = RelPath; } どうかよろしくお願いします。 環境:Windows 2000 VC6.0

専門家に質問してみよう