“ C:FILE.TXT”和“ C:\ FILE.TXT”有什么区别?


13

C:FILE.TXT”和“ C:\FILE.TXT”有什么区别?

他们是一样的吗?

Answers:


26

C:FILE.TXTFILE.TXT驱动器的当前目录中C:

C:\FILE.TXT指向FILE.TXT驱动器C:C:\)的根目录中

它们不一样。

编辑:命令提示符示例:

Windows会记住每个驱动器的当前工作目录。说你是在工作目录C:\UTILS,然后更改驱动F:,然后到目录BINF:

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>复制F:PROGRAM.EXE C:     复制* F:\ BIN \ PROGRAM.EXE到C:\ UTILS \ PROGRAM.EXE 
F:\ BIN>复制F:PROGRAM.EXE C:\    复制* F: \ BIN \ PROGRAM.EXE到C:\ PROGRAM.EXE 
F:\ BIN>复制F:\ PROGRAM.EXE C:    复制* F:\ PROGRAM.EXE到C:\ UTILS \ PROGRAM.EXE

F:\ BIN>复制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.exeshell中有用。在其他程序中,如果给定的驱动器与当前的驱动器不同,则此类路径规范将始终相对于该驱动器的根目录。
user1686 2011年

@Phoshi,是的,在某些情况下它们是相同的。这就像说int x是一样的int y; 它们不是===,但是如果它们具有相同的值,则它们可以是==。@grawity当然是Windows应用程序(Win32,而不仅仅是NT)没有每个驱动器的cwd,因为在这种情况下它没有任何意义。无论如何,它不仅是cmd;所有控制台应用程序都有它
Synetech

实际上,@ Mike在阅读完答案后仍然看不出区别。您能为一个笨拙的用户详细说明一下吗?
Pacerier,2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.