문제

Windows 탐색기에서 이름으로 주문한 디렉토리 파일에서 볼 수 있습니다.

Windows 명령에서 같은 것을 시도하면 이름으로 다른 이름으로 주문하십시오. 바르게:

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, ...

얻을 방법이 있습니까? dir 인간이 할 수있는 숫자를 읽는 곳에 이름으로 주문하는 것입니까?

도움이 되었습니까?

해결책

최선의 선택 (가능한 경우)은 예상대로 정렬이 나오도록 충분한 선행 0 (이 경우 2 개)을 더 작은 숫자에 추가하는 것입니다.

다른 팁

Windows 탐색기는 특수 분류 기능을 사용합니다. strcmplogicalw, 사용하지 않습니다 cmd.exe, 따라서 출력의 차이. 그래도 자신의 정렬 프로그램을 작성할 수 있습니다.

Michael Kaplan의 출품작에도 관심이있을 수 있습니다. 이것 주제 (Raymond Chen 's에서 건의함).

그는 그분은. 모두 내 솔루션을 알고 싶습니까?

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 명령은 오름차순 (생성?) 날짜로 디렉토리 컨텐츠를 주문하며 실제 파일 이름을 완전히 무시할 수 있습니다.

현재 자연스럽게 정렬 할 수있는 내장 명령 줄 도구가 없습니다. 원한다면 제발 기능에 투표하십시오 Microsoft가 마음을 바꾸게합니다

그러나 이것은 Regex 교체로 시뮬레이션 될 수 있습니다. Windows에서는 jscript 및 vbs를 사용하여이를 수행 할 수 있습니다. 그러나 가장 쉬운 방법은 PowerShell을 사용하는 것입니다. 이렇게 CMD.exe에서 호출 할 수 있습니다

powershell -Command "(Get-ChildItem | Sort-Object { [regex]::Replace($_.Name, '\d+', { $args[0].Value.PadLeft(20) }) }).Name"

물론 숫자를 변경해야합니다 PadLeft(20) 파일에 일련의 숫자가 포함 된 경우

Windows 탐색기와 같은 방식으로 파일 이름으로 정렬하는 방법은 무엇입니까?

기본 배치 솔루션을 찾을 수 있습니다자연스럽게 파일을 배치로 정렬합니다 파일이 끝에 단일 번호 만있는 경우

@echo off
setlocal enabledelayedexpansion
for %%a in (*.txt) do (
    set num=00000000000000000000%%a
    set num=!num:~-20!
    set $!num!=%%a
)
for /f "tokens=1,* delims==" %%a in ('set $0') do echo %%b

4NT/TCC/TC에서 JPSOFT 기본적으로 자연 정렬 순서를 사용하십시오. 또는 GNU "정렬"프로그램에 액세스 할 수있는 경우 Cygwin 도구, "ls -1 | /bin /sort -g"또는 "dir /b | cygwin bin sort -g"와 같은 것을 할 수 있습니다. 그것은 당신에게 자연적인 정렬 순서로 파일 이름을 줄 것입니다.

창에 고유 한 도구로 제한되어 있다면 시도해 볼 수 있습니다. Windows 스크립팅 도구 FilesystemObject를 사용하여 파일 이름을 얻고 정규식을 사용하여 파일 이름의 숫자 부분을 추출하여 사전 객체에서 키로 사용할 파일 이름을 추출하십시오. 나는 실제 코딩을 독자에게 연습으로 남겨 둘 것이다 :)

아니요,이를 수행 할 방법이 없습니다. Windows Explorer는 다른 접근 방식을 사용하여이를 처리합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top