"C : FILE.TXT"와 "C : \ FILE.TXT"의 차이점은 무엇입니까?


13

" C:FILE.TXT"와 " C:\FILE.TXT" 의 차이점은 무엇입니까 ?

그들은 같은가요?

답변:


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> COFY F : \ PROGRAM.EXE C :    사본 * F : \ PROGRAM.EXE ~ C : \ UTILS \ PROGRAM.EXE

F : \ BIN> COFY 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

@ 실제로 대답을 읽은 후에도 여전히 차이점을 알 수 없습니다. 바보 같은 사용자를 위해 그것을 정교하게 할 수 있습니까?
Pacerier
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.