Apa perbedaan antara "C: FILE.TXT" dan "C: \ FILE.TXT"?

13

Apa perbedaan antara " C:FILE.TXT" dan " C:\FILE.TXT"?

Apakah mereka sama?

KAMU
sumber

Jawaban:

26

C:FILE.TXTmerujuk FILE.TXTpada direktori drive saat iniC:

C:\FILE.TXTmerujuk FILE.TXTpada direktori root drive C:( C:\)

Mereka tidak sama.

Sunting: Contoh Perintah Prompt:

Windows mengingat direktori kerja saat ini untuk setiap drive. Katakanlah Anda bekerja di direktori C:\UTILSdan kemudian Anda mengubah ke drive F:dan kemudian ke direktori BINdi F::

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

Pada titik ini direktori kerja saat C:ini masih C:\UTILSdan direktori kerja saat ini F:adalahF:\BIN

Anda dapat memverifikasi ini dengan CDperintah:

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

F: \ BIN>

Perhatikan bahwa Anda tidak mengubah drive yang berfungsi kembali C:dengan menggunakan perintah ini.

Seperti yang akan Anda lihat dari contoh perintah berikut, penggunaan backslash ( \) segera setelah nama drive ( X:) menjadikan lokasi file mutlak. Mengurangi backslash secara otomatis melibatkan direktori kerja saat ini untuk drive.

F: \ BIN> SALIN F: PROGRAM.EXE C:     Salinan * F: \ BIN \ PROGRAM.EXE ke C: \ UTILS \ PROGRAM.EXE 
F: \ BIN> SALIN F: PROGRAM.EXE C: \    Salinan * F: \ BIN \ PROGRAM.EXE ke C: \ PROGRAM.EXE 
F: \ BIN> COPY F: \ PROGRAM.EXE C:    Salinan * F: \ PROGRAM.EXE ke C: \ UTILS \ PROGRAM.EXE

F: \ BIN> COPY F: PROGRAM.EXE C: NEW \ NEW_PROG.EXE    Salinan * dan ganti nama
                                                F: \ BIN \ PROGRAM.EXE
                                                ke C: \ BIN \ NEW \ NEW_PROG.EXE
 

* 'Salinan' berarti 'upaya untuk menyalin'. Perintah-perintah ini akan gagal jika struktur direktori yang diasumsikan dan direktori kerja saat ini tidak ada atau diubah oleh proses lain.

Dalam kasus di mana direktori kerja adalah direktori root (mis. C:\) Lalu C:PROGRAM.EXEdan C:\PROGRAM.EXEarahkan ke lokasi yang sama, tetapi mereka telah sampai pada metode yang berbeda.

Mike Fitzpatrick
sumber
2
Sebenarnya mereka bisa sama jika direktori C: saat ini adalah root.
Synetech
3
@ Sinetech; Hanya karena mereka dapat merujuk ke tempat yang sama tidak berarti mereka hal yang sama
Phoshi
Perhatikan bahwa Windows NT tidak lagi melacak "direktori saat ini" per-drive; sintaks ini sekarang hanya berguna di cmd.exeshell. Di program lain, jika drive yang berbeda dari saat ini diberikan, spesifikasi jalur seperti itu akan selalu relatif terhadap root drive itu.
user1686
@ Phoshi, ya, mereka sama dalam konteks tertentu. Ini seperti mengatakan itu int xsama dengan int y; mereka bukan ===, tetapi mereka bisa == jika keduanya memiliki nilai yang sama. @grawity, tentu saja aplikasi windows (Win32, bukan hanya NT) tidak memiliki drive per-drive karena itu tidak akan berarti apa-apa dalam konteks itu. Apapun, itu bukan hanya cmd; semua aplikasi konsol memilikinya .
Synetech
@ Mike sebenarnya setelah membaca jawabannya saya masih tidak bisa membedakannya. dapatkah Anda menjelaskannya untuk pengguna yang bodoh?
Pacerier