「C:FILE.TXT」と「C:\ FILE.TXT」の違いは何ですか?


13

C:FILE.TXT」と「C:\FILE.TXT」の違いは何ですか?

彼らは同じですか?

回答:


26

C:FILE.TXTFILE.TXTドライブの現在のディレクトリを参照しますC:

C:\FILE.TXTFILE.TXTドライブのルートディレクトリを参照しますC:C:\

それらは同じではありません。

編集:コマンドプロンプトの例:

Windowsは、各ドライブの現在の作業ディレクトリを記憶しています。ディレクトリC:\UTILSで作業していて、ドライブに移動F:してからディレクトリBINに移動するとしF:ます:

C:\ UTILS> F:
 F:\> CD BIN
 F:\ BIN>

この時点で、現在の作業ディレクトリC:はまだでC:\UTILSあり、現在の作業ディレクトリF:F:\BIN

CD次のコマンドでこれを確認できます。

F:\ BIN> CD C:
C:\ UTILS

F:\ BIN>

C:このコマンドを使用して、作業中のドライブを変更しなかったことに注意してください。

次のコマンド例からわかるよう\に、ドライブ名(X:)の直後にバックスラッシュ()を使用すると、ファイルの場所が絶対になります。バックスラッシュを省略すると、ドライブの現在の作業ディレクトリが自動的に含まれます。

F:\ BIN> COPY F:PROGRAM.EXE C:     コピー* F:\ BIN \ PROGRAM.EXEからC:\ UTILS \ PROGRAM.EXE 
F:\ BIN> COPY F:PROGRAM.EXE C:\    Copies * F: \ BIN \ PROGRAM.EXEからC:\ PROGRAM.EXE 
F:\ BIN> COPY F:\ PROGRAM.EXE C:    コピー* F:\ PROGRAM.EXEからC:\ UTILS \ PROGRAM.EXE

F:\ BIN> COPY F:PROGRAM.EXE C:NEW \ NEW_PROG.EXE    コピー*および名前変更
                                                F:\ BIN \ PROGRAM.EXE
                                                C:\ BIN \ NEW \ NEW_PROG.EXE
 

*「コピー」は「コピーの試行」を意味します。これらのコマンドは、想定されるディレクトリ構造と現在の作業ディレクトリが存在しないか、別のプロセスによって変更された場合に失敗します。

作業ディレクトリが場合であるルートディレクトリ(例。C:\)その後、C:PROGRAM.EXEC:\PROGRAM.EXEの点と同じ場所に、彼らは異なる方法でに到着されました。


2
実際に、C:の現在のディレクトリがルートである場合、それらは同じになります。
Synetech

3
@Synetech; 彼らが同じ場所を参照できるからといって、彼らが同じことを意味するわけではありません
-Phoshi

Windows NTは、ドライブごとの「現在のディレクトリ」を追跡しないことに注意してください。現在、この構文はcmd.exeシェルでのみ有効です。他のプログラムでは、現在とは異なるドライブが指定されている場合、そのようなパス指定は常にそのドライブのルートに相対的です。
user1686

@Phoshi、はい、特定のコンテキストでは同じです。それint xはと同じであると言っているようなものint yです。===ではありませんが、両方の値が同じ場合は== にできます。@grawity、もちろんWindowsアプリ(NTだけでなくWin32)には、そのコンテキストでは何も意味しないため、ドライブごとのcwdはありません。とにかく、それは単なるcmdではありません。すべてのコンソールアプリに搭載されています。
Synetech

@Mikeは、実際に答えを読んだ後、まだ違いを見分けることができません。あなたは愚かなユーザーのためにそれを詳しく説明できますか?
-Pacerier
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.