가능한 중복 :
WinXP dir 명령 : 3과 4 문자 확장자는 동일합니까?
오랫동안 cmd.exe의 이상한 동작 (최소한 WinXP 및 Windows7)에 짜증이났습니다. 이와 같은 명령 del *.txt
은 *.txt1
파일 도 제거 합니다 ( '.txt'다음에 나오는 문자 수만큼). 이것은 잘 알려진 버그입니까?
가능한 중복 :
WinXP dir 명령 : 3과 4 문자 확장자는 동일합니까?
오랫동안 cmd.exe의 이상한 동작 (최소한 WinXP 및 Windows7)에 짜증이났습니다. 이와 같은 명령 del *.txt
은 *.txt1
파일 도 제거 합니다 ( '.txt'다음에 나오는 문자 수만큼). 이것은 잘 알려진 버그입니까?
답변:
가끔 알려진 것으로 알려진?
동작에 대한 설명은 여기 에 있으며 가능한 해결 방법이 있습니다.
요약 : NTFS는 "새롭지 않은"긴 파일 이름을 처리 할 수없는 오래된 파일과의 호환성을 위해 짧은 (8.3) 파일 이름을 처리하는 방식에서 비롯됩니다. dir /x
짧은 파일 이름을 보는 데 사용할 수 있습니다.
C:\>dir /x *~*
...
02/25/2011 08:18 AM <DIR> DOCUME~1 Documents and Settings
05/28/2011 12:02 AM <DIR> PROGRA~1 Program Files
...
3 자보다 긴 확장자는 짧은 파일 이름으로 인해 잘립니다. 그래서 .txt1
, .txtxtxtxt
, .txt_file
, 등, 모두가 .txt
.
확장명이 4자를 초과하는 파일 (및 다른 규칙도 적용됨)의 짧은 이름을 얻습니다. 예를 들어 "foo.txt1"은 "foo ~ 1.txt"라는 짧은 이름을 갖습니다. DEL
( DIR
대부분의 다른 cmd.exe
내장 명령 과 마찬가지로 ) 축약 형에서도 작동합니다. 관련 주제에 대한 토론은 여기를 참조하십시오 : http://blogs.msdn.com/b/oldnewthing/archive/2005/07/20/440918.aspx
이것이 FAT / VFAT 파일 시스템에 있습니까? 그렇다면 8.3 스키마에 맞지 않는 이름을 나타내는 데 사용되는 해커에게 물린 것입니다. DIR
맹 글링 된 짧은 이름을 표시 하는 옵션이 있는데, 실제 파일 이름으로 시작하지만 ~
확장자 앞에 숫자와 숫자가 있고 확장자는 3 자로 제한됩니다. (예 : C:\Program Files
일반적으로로 번역됩니다 C:\PROGRA~1
.) 와일드 카드가 예기치 않게이 이름과 일치 할 수 있습니다. 이것은 NTFS 또는 네트워크 공유에서 발생 해서는 안됩니다 . 도스가 아직 죽지 않았다는 것을 제외하고는 ...