Sự khác biệt giữa các loại C: FILE.TXT và C: \ FILE.TXT, là gì?


13

Sự khác biệt giữa " C:FILE.TXT" và " C:\FILE.TXT" là gì?

Họ có giống nhau không?

Câu trả lời:


26

C:FILE.TXTđề cập đến FILE.TXTtrong thư mục hiện tại của ổ đĩaC:

C:\FILE.TXTđề cập đến FILE.TXTtrong thư mục gốc của ổ đĩa C:( C:\)

Chúng không giống nhau.

Chỉnh sửa: Dấu nhắc lệnh Ví dụ:

Windows ghi nhớ một thư mục làm việc hiện tại cho mỗi ổ đĩa. Giả sử bạn đang làm việc trong thư mục C:\UTILSvà sau đó bạn đổi sang ổ đĩa F:và sau đó chuyển sang thư mục BINtrên F::

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

Tại thời điểm này, các thư mục làm việc hiện tại cho C:vẫn là C:\UTILSvà thư mục làm việc hiện tại cho F:F:\BIN

Bạn có thể xác minh điều này bằng CDlệnh:

F: \ BIN> CD C:
C: \ TIỆN ÍCH

F: \ BIN>

Lưu ý rằng bạn đã không thay đổi ổ đĩa làm việc trở lại C:bằng cách sử dụng lệnh này.

Như bạn sẽ thấy trong các ví dụ lệnh sau, việc sử dụng dấu gạch chéo ngược ( \) ngay sau tên ổ đĩa ( X:) làm cho vị trí tệp tuyệt đối. Ommit dấu gạch chéo tự động liên quan đến thư mục làm việc hiện tại cho ổ đĩa.

F: \ BIN> SAO CHÉP F: PROGRAM.EXE C:     Bản sao * F: \ BIN \ PROGRAM.EXE sang C: \ UTILS \ PROGRAM.EXE 
F: \ BIN> SAO CHÉP F: PROGRAM.EXE C: \    Bản sao * F: \ BIN \ PROGRAM.EXE sang C: \ PROGRAM.EXE 
F: \ BIN> SAO CHÉP F: \ PROGRAM.EXE C:    Bản sao * F: \ PROGRAM.EXE sang C: \ UTILS \ PROGRAM.EXE

F: \ BIN> SAO CHÉP F: PROGRAM.EXE C: NEW \ NEW_PROG.EXE    Bản sao * và đổi tên
                                                F: \ BIN \ PROGRAM.EXE
                                                đến C: \ BIN \ NEW \ NEW_PROG.EXE
 

* 'Bản sao' có nghĩa là 'cố gắng sao chép'. Các lệnh này sẽ thất bại nếu các cấu trúc thư mục giả định và các thư mục làm việc hiện tại không tồn tại hoặc bị thay đổi bởi một quy trình khác.

Trong trường hợp thư mục làm việc thư mục gốc (ví dụ C:\) sau đó C:PROGRAM.EXEC:\PROGRAM.EXEtrỏ đến cùng một vị trí, nhưng chúng đã được chuyển đến bằng các phương thức khác nhau.


2
Trên thực tế chúng thể giống nhau nếu thư mục hiện tại của C: là root.
Synetech

3
@Synetech; Chỉ vì họ có thể đề cập đến cùng một địa điểm không có nghĩa là chúng giống nhau
Phoshi

Lưu ý rằng Windows NT không theo dõi "thư mục hiện tại" trên mỗi ổ đĩa nữa; cú pháp này bây giờ chỉ hữu ích trong cmd.exeshell. Trong các chương trình khác, nếu một ổ đĩa khác với hiện tại được cung cấp, các thông số đường dẫn như vậy sẽ luôn liên quan đến gốc của ổ đĩa đó.
dùng1686

@Phoshi, vâng, chúng giống nhau trong một số bối cảnh nhất định. Nó giống như nói rằng int xgiống như int y; chúng không ===, nhưng chúng thể == nếu cả hai có cùng giá trị. @grawity, tất nhiên các ứng dụng windows (Win32, không chỉ NT) không có cwd trên mỗi ổ đĩa vì điều đó có nghĩa là không có gì trong bối cảnh đó. Bất kể, đó không chỉ là cmd; tất cả các ứng dụng console đều có nó .
Synetech

@Mike thực sự sau khi đọc qua câu trả lời tôi vẫn không thể biết được sự khác biệt. bạn có thể xây dựng nó cho một người dùng câm?
Pacerier
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.