이 질문에는 이미 답변이 있습니다.
폴더의 파일 :
a.j
ab.jp
abc.jpg
abcd.jpeg
dir
명령 결과 :
Command Result (Files shown)
---------- --------------------
dir ?.* a.j
dir ??.* a.j, ab.jp
dir ???.* a.j, ab.jp, abc.jpg
dir ????.* a.j, ab.jp, abc.jpg, abcd.jpeg
그래서 우리는 단일 ?
문자 “0 또는 1 문자”를 볼 수 있습니다 .
더 많은 dir
명령 결과 :
Command Result (Files shown)
---------- --------------------
dir *.? a.j
dir *.?? a.j, ab.jp
dir *.??? a.j, ab.jp, abc.jpg, abcd.jpeg --> What is this?!
dir *.???? a.j, ab.jp, abc.jpg, abcd.jpeg
세 번째 명령에서 왜 ???
표시 jpeg
됩니까? 설명 할 수 있습니까? 이 버그는 cmd에 있습니까?
답변
세 개의 물음표가 짧은 버전의 파일 이름 확장자와 일치하기 때문에 발생합니다. 용도
dir /x
짧은 버전의 파일 이름을 표시하고 작업합니다.
답변
세 자보다 긴 확장명 문제와 관련하여 : 이것은 짧은 파일 이름이 생성되는 방식으로 인해 발생합니다. Win95TruncatedExtensions
레지스트리에서 설정하여이 문제를 해결할 수 있습니다 .
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"Win95TruncatedExtensions"=dword:00000000
NTFS 및 FAT에서 8.3 명명 규칙을 사용하여 새 파일의 파일 이름을 생성할지 여부를 지정합니다.
이 항목의 값을 1로 설정해도 기존 파일 이름 확장자는 변경되지 않으며 찾기, 파일 관리자 또는 Windows 탐색기에서 이러한 확장자가 표시되거나 관리되는 방식도 변경되지 않습니다. 그러나 NTFS 및 FAT는 새 파일의 짧은 이름을 생성하고 파일 이름 확장명의 세 번째 문자를 자릅니다.
기본값은 1
그러나 이것은 새로 생성되거나 복사 된 파일에만 영향을 미칩니다.
(하드 디스크의 모든 파일을 복사 할 수 있습니다. Windows 시스템을 설치할 때 첫 번째 조치 중 하나로이 레지스트리 설정을 수행해야합니다.)
답변
명령 프롬프트는 짧은 파일 이름 시스템을 사용합니다. 즉, 파일이 포인트 이전에 8자를 초과하면 처음 6 개가 + ~ 1로 사용됩니다. 에서 뒤에 4 자 이상을 사용하는 경우에도 마찬가지입니다. 그런 다음 확장자의 처음 3자를 사용하고 파일 이름을 다르게 지정합니다 (처음 6 + ~ 1). 따라서 .jpeg
파일이 명령 프롬프트에 표시되므로 ??????~1.jpe
일치합니다.*.???
dir /x
파일 이름이 짧은 파일을 보는 데 사용 하십시오.