• ベストアンサー

相対パスを教えてください。

(問)カレントディレクトリがB1のときC2はどう表すか。  [/]_____[A1]____[B1]___C1     |    |     |    |__[B2]___C2     |     |___[A3]___[B3]___C3  (答え)../B2/C2 では、カレントディレクトリがB1のときC3はどう表したらよいのでしょうか? ../../[A3]/[B3]/C3 ..は1階層上位のディレクトリを表すということですが、 これでよいのでしょうか?

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

  • ベストアンサー
  • khurata
  • ベストアンサー率40% (54/134)
回答No.4

 rngoさんの記述でほぼ合っています。「ほぼ」と言いますのは、微妙な誤り(?)があるからです。  最初の問いに対する答えが ../B2/C2 という事ですから、この表記法に従うなら、2つ目の問いに対する答えは、../../A3/B3/C3 となります。  これは私の推測ですが、おそらく大カッコは、ディレクトリの事を指す表現なのではないか、と思います。  しかし、相対パスや絶対パスを表記する際は、ディレクトリであるかファイルであるかを明確に区別はしないのが普通です。なので、../../A3/B3/C3 が答えだと考えました。  余談ですが、階層ディレクトリ構造を採用する多くの OSでは、/ がディレクトリやファイルの階層区切りを表します。ただし、MS-DOSや Windowsにおいては、バックスラッシュ(日本語 MS-DOSもしくは Windowsの場合は \ 記号)で表します。  / が1文字だけの場合は、ルートディレクトリを表します。  . が1つだけなら、それはカレントディレクトリ(現在地)を表します。また、.. のように2つ連続していたら、親階層ディレクトリを表します。  / でも . でも .. でもなく、いきなり名前から記述が始まる場合は、カレントディレクトリ配下のディレクトリもしくはファイルを表します。例えば、出題例においてカレントディレクトリが A1 の時、C1 は下記の2つの表記いずれでも指定出来ます。 (1) ./B1/C1 (2) B1/C1  上記のような表現方法において、/ から始まる表記が絶対パス、それ以外の表記が相対パスです。

rngo
質問者

お礼

丁寧な回答ありがとうございます。 括弧はディレクトリのつもりで表記しました。 正確な答えはkhurataさんのおっしゃるとおりですね。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • sero
  • ベストアンサー率47% (916/1944)
回答No.3

#1です。 すみません、質問の意味を取り違えていました。 相対パスの表し方なら正解です。

全文を見る
すると、全ての回答が全文表示されます。
  • papasan33
  • ベストアンサー率47% (90/189)
回答No.2

合っていると思いますよ。 秋に受けられるんですか? 頑張ってください。

rngo
質問者

お礼

ありがとうございます。 用語の暗記が大変そうで気が重いのですが がんばります。

全文を見る
すると、全ての回答が全文表示されます。
  • sero
  • ベストアンサー率47% (916/1944)
回答No.1

何の言語か不明ですが、MS-DOSやhtmlでの構文でも「..」は 1階層上を意味します。

rngo
質問者

お礼

早速の回答ありがとうございます。 初級シスアドの問題なので、言語は特定されません。 質問に書いておくべきでした。すみません。 1階層上というのはわかるのですが、実際のパスの表記方法がよくわかりません。 よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 相対パス(初級シスアド)

    線が書けないので階層構造が見にくくてすみません。質問は一番下にあります。よろしくお願いいたします。 問1カレントディレクトリがB1のときC2は どう表すか。            /       A1       A2 B1   B2 C1   C2   (答え)・・/B2/C2 問2カレントディレクトリがindex.htmlのときa2は どう表すか。  user myhome index.html sozai s1   a1 s2  a2   (答え)sozai/s2/a2 <質問>問2の答えは問1と同様に考えて     ・・/sozai/s2/a2 ではなぜいけないのでしょうか。教えてください。

  • 相対パスについて

     いつもお世話になっております。  お聞きしたいのは、画像やリンクのファイルを指定する方法についてです。違うディレクトリへのリンクの場合、たとえば<A href="a/b.html">のように指定すればいいですよね。しかし、上位ディレクトリへリンクしたい場合、どのようにすればよいでしょうか?絶対パスで<A href="http://www~">と指定するしかないのでしょうか?  サイトのほうはそれで誤魔化してきましたが、今、自分なりに紙データをデジタルデータ化しています。たとえば料理のレシピだと「料理」フォルダの中に「豚肉」「お菓子」などのように分けるという具合です。その「お菓子」フォルダ(実際には別の英語名ですが)にあるファイルから、一番上にあるHOMEまでリンクさせるのにはどうしたらよいでしょうか?  このファイルは、いずれCDに移すつもりでいます。が、CD-ROMドライブは人によってD:ドライブではないこともありますよね。それもふまえて、どうすればよいでしょうか?

    • ベストアンサー
    • HTML
  • 相対パスの挙動を理解できない

    PHP5+Apatch2でプログラムを作成しています。 Apatch,PHP共に初心者です。 ----------------------------------------------------- index.php[1] | PHPフォルダ[1]- CLASSフォルダ[2a]- class.php[3a] |              | |              phpfile.php[2a] | LIBフォルダ[1]- lib.php[2b] ------------------------------------------- *[]内は同じ番号のものが同じ階層を表すとします。 *apatchのドキュメントルートは[1]の一つ上になっています。 とプログラムを作成して、class.php[3a]の中で require_once("../phpfile.php[2a]");を 行った場合、 No such file or directoryのエラーが発生します。 かわりにrequire_once("../PHP/phpfile.php[2a]");と 置き換えた場合は動作します。 相対パス"../"は一つ上の階層に上がると理解していたのですが、 二つ上にある階層へと移動しているように思います。 気になったので、lib.php[2b]から<a href="../index.php[1]">aaa</a> を表示させてみたところ、上手くindex.php[1]へリンクを貼れます。 apatchの設定、PHP5がおかしい、HTMLがおかしい、誤解している等、 初心者なりに予測されるものが多いので手が付かなくなっています。 原因と思われるものがあればどうかご指摘ください。 よろしくお願いします。

  • include_pathについて。

    PHP 5.2以上のバージョンの話として質問をさせて頂きます。 (ローカルではWindows版XAMPPを使用。リモートはLinuxサーバー。) ----- <ファイルの位置関係> imgディレクトリ --- C.jpg (画像ファイル) mainディレクトリ --- A.php sub ディレクトリ --- funcディレクトリ --- B.php (img、main、subディレクトリは3つとも同階層) //------- (A.phpの記述) require_once '../sub/func/B.php'; //------- (B.phpの記述) echo '<img src="C.jpgのパス">'; // ←■画像Cを表示したい■ //★どう表示されるかテスト★ echo dirname(__FILE__) ;   //----- このような状況で、 A.phpにアクセスすると、★テスト★の所は、 ~/sub/func   //←のように表示される。 // つまりこれは、__FILE__ は、 // A.phpではなく、B.phpを指している。(?) と、このような時、B.phpの中で、 C画像の相対パスは、どう書いたらよろしいのでしょうか? A.phpから見た、C画像の相対パスで書いたらいい? それとも、B.phpから見たソレでしょうか? phpinfo()でinclude_pathの項目を調べると、 .:/usr/local/lib/php/~ のように書かれています。(デフォルトのままです。)

    • ベストアンサー
    • PHP
  • CSSで相対パス

    さっきニコニコ動画のスタイルシート見たんですけど、 こういう記述があって body.tpl { width:960px; background:#FFF url('/img/tpl/bg_rc2.gif') repeat-x; color:#333; margin:0px auto; padding:0px; } このスタイルシートはcssというフォルダの中にあって、 そこと同じ階層にimgというフォルダがあって、 あとは直接index.phpとかのメインのファイルが置いてあるみたいなんですけど、 普通外部スタイルシートから別のフォルダ(同じ階層にある別のフォルダ)にあるイメージを呼び出すなら ../img/tpl/bg_rc2.gif になるはずだと思うんですけど、上の記述だとまるでCSSの相対パスのベースが上位の階層(index.phpとかのメインのファイルがあるの階層)になってるみたいにに見えるんですよね、 もしこれが出来るなら、大量にネストして外部スタイルシート作ってある場合(imgフォルダから遠い階層)、 ../../../../../../img/a.gif って呼び出さないといけないのが楽にすむじゃないですか、 もし外部スタイルシートの相対パスのベースをこういう風に設定できる方法があるならおしえて下さい、 俺の勘違いだったらごめんなさい

    • ベストアンサー
    • HTML
  • コマンドライン

    コマンドについてご質問です。 テスト問題集をやっていたのですが、わからないところがあったので教えてください。 1]カレントディレクトリを1つ上のディレクトリに変更するコマンドを示せ。 ただ単に答えは、cdですか。 2]カレントディレクトリにあるfile1を2つ上位のディレクトリへ移動するコマンドを示せ。 これもただ単に、cdですか お願いします。

  • setcurrentdirectoryのパス拡張の問題

    すみませんが、setcurrentdirectory関数は、指定されるパスをプロセスの カレントディレクトリとするのが知られていますが、例えば、 setcurrentdirectory(_T"C:")だと、Cのディレクトリをカレントディレクトリとしたが、Unicodeでパスの拡張のため、引数を\\\\?\\C:を指定して あれれば、拡張すると仕様になっているはずが、 なぜ、\\\\?\\C:を指定したら、引数が間違いますというエラーがあったが、 \\\\?\\C:\\を指定したら、通りました。 よろしくお願いします。

  • 再度 コマンドライン

    2]カレントディレクトリにあるfile1を2つ上位のディレクトリへ移動するコマンドを示せ。 という問題の答えは、cd file1 ..¥..でいいでしょうか。

  • find関数が1階層(カレントディレクトリ)にしか利きません。

    find関数が1階層(カレントディレクトリ)にしか利きません。 Active Perl+MS-DOS(WindowsXP)の環境です。 深い階層を持つディレクトリAで  find(\&dirfiletotal,'.'); を実行し、特定のファイル名を検出しています。 なぜかカレントディレクトリ(A)にあるファイルに対してしか動作しません。(結果は正常です。) find関数は再帰的、つまり下の階層も含めてファイル検出するのだと思っていましたが、間違いでしょうか? もし間違いであれば、どのように書き変えればいいか、ヒントをいただけると大変助かります。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • Perl
  • 絶対パスを相対パスに

    VC++2005 Express Editionです。 ドラッグアンドドロップで受け取った(DragQueryFile)絶対パスファイル名を相対パスに変換したいのですが、良いコードサンプルなどありましたら教えてください。できればUnicodeとマルチバイトの両方に対応させたいです。 GetCurrentDirectoryでカレントディレクトリを取得してみたのですが、この場合ドライブ名が大文字なのに対し、ドラッグアンドドロップで受け取ったドライブは小文字なので、簡単にはできそうにありませんでした。 文字列処理は今まで標準関数しか使ったことがありませんが、これを機会にコードなど勉強したいと思っています。 よろしくお願いします。

専門家に質問してみよう