소프트웨어 오토핫키 파일 정렬 관련 질문하나 드립니다.
2022.11.23 15:33
안녕하세요.
오토핫키에서 막히는 부분이 있어 이렇게 또 질문 드리게되었습니다.ㅠㅠ
예시 d:\테스트 폴더내에 아래와 같은 파일이 있습니다.
애국가 1.txt
애국가 2.txt
애국가 3.txt
애국가 4.txt
애국가 5.txt
애국가 6.txt
애국가 7.txt
애국가 8.txt
애국가 9.txt
애국가 10.txt
애국가 11.txt
예를들어 위 처럼 11개의 파일이 있다는 가정하에
Loop files, d:\테스트\*.txt
{
msgbox, %A_LoopFileLongPath%
}
위의 코드를 실행하면
애국가 10.txt
애국가 11.txt
애국가 1.txt
이런식으로 결과값이 나오더라구요 찾아보니 Sort로 정렬이 가능하다하여 옵션에 있는 숫자로 정렬인 n을 사용해보고 다 해봐도 역순 정렬 말고는 위와 동일하게 값이 나타납니다
물론 파일을 애국가 01, 02와 같이 변경 후 위 코드를 돌리면 순서대로 잘 나타나긴 하지만 너무 번거로운 작업일것 같습니다.
혹시 파일이름 변경 없이 결과값이 예시와 같이 순차적으로 나오게 할 수 있는 방법이 있을까요?
답변 주시면 감사하겠습니다.ㅠㅠ
댓글 [12]
-
내꼬 2022.11.23 15:49 -
천공의아키라 2022.11.23 16:16
답변은 감사드리지만 윈도우 탐색기에서는 정상적으로 보여집니다~
감사합니다.
-
줄리아니 2022.11.23 15:55
var := "애국가 1.txt,애국가 11.txt,애국가 2.txt,애국가 3.txt"
Sort var,P5 N D,
MsgBox % var
옵션에서 P를 사용하면 됩니다 다음은 P 에 대한 설명입니다
Pn: Sorts items based on character position n (do not use hexadecimal for n). If this option is not present, n defaults to 1, which is the position of the first character. The sort compares each string to the others starting at its nth character. If n is greater than the length of any string, that string is considered to be blank for the purpose of the sort. When used with option N (numeric sort), the string's character position is used, which is not necessarily the same as the number's digit position.
-
천공의아키라 2022.11.23 16:19
와~ 감사합니다~
해결 되었습니다~ 다시한번 감사드립니다.
-
메리아 2022.11.23 16:37 -
-
천공의아키라 2022.11.23 16:57
네 말씀하신대로 하나는 되던데 다른건 안되네요 ㅠㅠ
감사합니다.
-
천공의아키라 2022.11.23 16:59
바로 하나 해봤을땐 되더니 다른건 안되네요 ㅠㅠ 감사합니다.
-
줄리아니 2022.11.23 17:19
p5 옵션이 5번째 문자 위치를 기준으로 정렬을 시키기는 거라서요 다른 파일 할때는 pN 숫자를 변경해야 합니다
-
메리아 2022.11.23 16:30 -
-
천공의아키라 2022.11.23 16:58
답변 감사드립니다~ 참고해보겠습니다
-
지후빠 2022.11.23 17:24
문자 위치와 상관 없이 사용할 수 있는 방법이 있네요. https://www.autohotkey.com/boards/viewtopic.php?f=5&t=63893
Loop files, *.txt
FileList .= A_LoopFileLongPath . "`n"
Sort, FileList, F SortStrCmpLogical
msgbox, %FileList%
return
SortStrCmpLogical(vTextA, vTextB, vOffset)
{
local
vRet := DllCall("shlwapi\StrCmpLogicalW", "WStr",vTextA, "WStr",vTextB)
return vRet ? vRet : -vOffset
}
커피 한잔 뽑고서 올렸더니 몇 건의 댓글이 더 추가 되었네요. ^^
-
천공의아키라 2022.11.23 17:30
와 답변 감사합니다~
일단 몇개 해봤는데 잘 동작합니다~
감사합니다
root blog :: 윈도우10 파일 탐색기 숫자 정렬 방식 변경하기 (tistory.com)
위 링크가 답일겁니다.