• ベストアンサー

パス区切りに使用する文字について

前から疑問だったのですが、パスの区切りは、 \ あるいは / って両方使えますよね? これはなぜ両方使えるのでしょうか? なにか理由でもあるのでしょうか?

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

  • ベストアンサー
  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.3

OSが特定されていませんが、Windows/DOS 環境のことだとしたら、普通は \ しか使えないのでは? Windows 系では、/ は普通オプションを指定する文字ですよね。 例1:dir /p/s とやった場合、ディレクトリ \p\s の内容を表示するのではなく、/p と /s オプションを指定したことになります。 例2:C:\ にいる時、cd /windows/system としても c:\windows\system には移動しません。(「無効なスイッチです. - /WINDOWS」と怒られるだけです。) 標準の COMMAND.COM でなく特定のシェル(Windows 版 tcsh など)では、見かけ上本来の Unix 環境に似せるためか、確かに / がパス区切りとして使えますが、それはあくまでも、そのソフトウェアの中で \ に変換しているだけだと思います。 各種処理系のライブラリ関数などでも、同様だと思います。 同様に、Unix では、パス区切り文字はあくまでも / であり、\ は使えません。

jyuka
質問者

補足

分かりやすい説明をどうもありがとうございました。この説明で納得することが出来ました。

その他の回答 (3)

  • poor_Quark
  • ベストアンサー率56% (1020/1799)
回答No.4

>だとすると、ASCII コードを使用する以上、英語環境上では \ は表示できないということで良いのでしょうか?  そういうことになるかと思います。厳密にいうと\(バックスラッシュ)の方はasciiコード由来ですが¥の方はjisコードになるかと思います。今、英語環境のDOSでPCを立ち上げたのですが、そもそもハード上のキーアサインが違うようで同じキーで表示されることはありませんでしたが、例えばDOSでディレクトリをとるとき A:\>dir /w 日本語環境だと A:¥>dir /w という使い方をしますので間違いないでしょう。(文字はすべて半角) /(スラッシュ)はオプションスイッチ指定用のセパレータです。

参考URL:
http://www.rtpro.yamaha.co.jp/RT/docs/misc/code-table.html
noname#30727
noname#30727
回答No.2

想像なんですが、UNIX などは / を使っているから、必然的に URL も / が使用されますよね。ローカルもネットワークも区別しなくていいように、/ も使えるようにしたのだと思います。 私は、Windowsのプログラムでも主に / を使っていますが、状況によっては使えない時があるので、頭にきます(笑)

jyuka
質問者

補足

そうなんですよね、他の方が書いておられますように、/ も使えるときがあるので、余計に混乱してました。

  • poor_Quark
  • ベストアンサー率56% (1020/1799)
回答No.1

 バックスラッシュ(\)のことだと思いますが、英語の文字セットを前提としたキーボードが日本で使われだしたとき必要な¥というマークがなかったので一番使用頻度の少なそうなバックスラッシュをこれに当てたのだと思います。アスキーコードではバックスラッシュと¥は同じだと聞いたことがあります。  バックスラッシュはフルパスでファイルを表現するときセパレータの役割を持っていましたので、日本語では¥がその役割を引き受けたのでしょう。

jyuka
質問者

補足

ASCII コードを調べましたら、\(\) は 5C でした。 なので、この文字は日本語環境では \ と見え、英語環境では \ と見えるこということですよね? だとすると、ASCII コードを使用する以上、英語環境上では \ は表示できないということで良いのでしょうか?

関連するQ&A