2008-10-28 6 views
2

Windows 탐색기에서 이름순으로 정렬 된 디렉터리 파일을 볼 수 있습니다.Windows 'dir'명령, 이름으로 정렬 AND <something>

나는 다른 이름으로 MS-DOS의 그것 수주 같은 일을하려고하면 - 제대로을 :

dir *.jpg /ON /B 

cubierta.jpg 
pag00.jpg 
pag06.jpg 
pag08.jpg 
pag09.jpg 
pag100.jpg 
pag101.jpg 
pag102.jpg 
pag103.jpg 
pag104.jpg 
pag105.jpg 
pag106.jpg 
pag107.jpg 
pag108.jpg 
pag109.jpg 
pag11.jpg, etc, etc, etc, ... 

그것은 인간으로 숫자를 읽는 경우 이름에 의해 주문 MSDOS를 얻을 수있는 방법이 있나요 할것이다? 감사!

+0

제프 앳 우드 (Jeff Atwood)는 블로그 게시물 (http://www.codinghorror.com/blog/archives/001018.html)에서 이것을 설명했습니다. –

+0

프로그래밍 질문이 아닙니다. – Keng

+0

@JonLimjap 링크가 Jeff의 블로그 메인 페이지로 리디렉션됩니다. – steenhulthin

답변

6

(가능한 경우) 가장 작은 옵션 (가능한 경우)은 정렬이 예상대로 나올 수 있도록 작은 0에 충분한 0을 추가하는 것입니다 (이 경우 2 개).

+1

파일을 순서대로 처리해야 할 것으로 예상되면 1 ~ 4 자의 0을 채우거나 사용합니다 완전한 UTC 형식의 타임 스탬프 인 20081028143531입니다. 이것은 70 년대 후반 또는 80 년대 초반으로 거슬러 올라가는 * 오래된 트릭입니다. 어쩌면 그 전에 ... –

-1

아니요, 이렇게 할 방법이 없습니다. Windows 탐색기는이를 처리하기 위해 다른 접근 방식을 사용합니다.

3

Windows 탐색기는 cmd.exe에 사용되지 않는 특수 정렬 함수 인 StrCmpLogicalW을 사용하므로 출력이 다릅니다. 당신은 그것으로 자신의 정렬 프로그램을 작성할 수 있습니다.

subject의 Michael Kaplan 님의 항목 (Raymond Chen의 suggestion box에서)에 관심이있을 수 있습니다.

-1

4NT/TCC/TC는 JPSoft입니다. 기본적으로 자연 정렬 순서를 사용합니다. GNU "sort"프로그램 (예 : Cygwin tools)에 액세스 할 수 있다면 "ls -1 |/bin/sort -g"또는 "dir/b | \ cygwin \ bin \ sort -g"와 같은 작업을 수행 할 수 있습니다 "; 그것은 자연 정렬 순서로 파일 이름을 줄 것입니다.

Windows 고유의 도구에 제약이있는 경우 Windows Scripting tools을 시도하고 파일 이름을 얻기 위해 FileSystemObject를 사용하고 파일 이름을 가져 오는 데 사용할 정규 표현식을 사용하여 파일 이름의 숫자 부분을 추출하여 사전 개체. 나는 실제적인 코딩을 독자에게 연습으로 남겨 둘 것이다 :

1

그는 그 사람이다. 당신은 모두 내 해결책을 알고 싶습니까?

저는 200MB PDF 파일을 JPG로 변환하는 ImageMagic이라는 프로그램을 사용하고 있습니다. 긴 프로세스가 끝나면 모든 파일이 숫자 순으로 직렬화됩니다. 기본적으로 파일 생성 날짜는 각 파일이 하드 드라이브에 기록 될 때마다 약간 증가합니다. (? 창조) 날짜를 오름차순으로

dir *.jpg /ODN /B > files.txt 

for /f "tokens=*" %%a in ('dir *.jpg /ODN /B') do (
    echo ^<page^>%%a^</page^> >>pages.xml.fragment 
) 

따라서 DIR * .JPG/OD 명령 주문 디렉토리 내용을, 그리고 : 따라서 다음과 같은 두 가지 배치 파일 명령 중 하나는 '올바른'순서로 파일을 작성합니다 우리는 실제 파일 이름을 완전히 무시할 수 있습니다.

+2

나는 'dir/od'에 마지막으로 수정 한 날짜 (생성 날짜 아님)가 사용되었다고 확신합니다. 생성 날짜에는 'dir/tc/od'가 필요합니다. –