파일명 정리기

파일명 목록을 붙여넣으면 어떤 운영체제, 어떤 ZIP 아카이브, 어떤 CDN 경로에서도 살아남는 정리된 버전을 돌려받습니다. 정리기는 악센트가 있는 문자를 순수 ASCII로 변환하고, Windows에서 깨지는 문자(\ / : * ? " < > |)를 제거하며, 제어 문자를 없애고, 공백을 합치고, 금지된 시퀀스를 선택한 대체 문자(기본값: 하이픈)로 교체합니다. S3에 대량 업로드하기 전, 교육 자료 ZIP을 배포할 때, 또는 오래된 NAS에서 가져온 사진을 정리할 때 유용합니다.

파일명 정리 방법

  1. 1

    파일명 붙여넣기

    한 줄에 하나씩, 확장자가 있든 없든. 확장자는 그대로 보존됩니다.

  2. 2

    대체 문자 선택

    안전하지 않은 시퀀스를 교체할 문자를 고르세요. 하이픈(`-`)이 가장 안전한 기본값이고, 밑줄(`_`)은 복고풍 선택입니다.

  3. 3

    정리기 실행

    각 이름은 다듬어지고 ASCII로 변환되며 금지 문자가 제거되고 공백이 합쳐집니다. 남는 게 없으면 `file`이 됩니다.

  4. 4

    이름 변경 전 검토

    출력에는 정리된 이름만 나열되므로, 제자리 이름 변경 전에 충돌(두 입력이 같은 출력이 됨)이 없는지 확인하세요.

무엇이 안전하지 않으며, 왜인지

파일시스템과 도구마다 다른 블랙리스트를 가집니다. 안전한 크로스 플랫폼 교집합은 대부분의 사람이 생각하는 것보다 더 빡빡합니다.

파일명을 안전하지 않게 만드는 문자와 패턴

항목 안전하지 않은 이유
\ / : * ? " < > | Windows(NTFS, FAT)에서 금지됨.
ASCII 제어 문자 0x00-0x1F 대부분의 파일시스템에서 불법; 셸 스크립트를 깨뜨림.
앞/뒤 공백 Windows가 조용히 제거; 보이지 않는 버그.
후행 점 Windows가 조용히 제거.
예약된 이름 CON, PRN, AUX, NUL, COM1..9, LPT1..9, Windows에서 모두 차단됨.
유니코드 결합 기호 café가 같아 보이지만 일부 시스템에서 다른 파일명이 되게 함.
이모지와 그림문자 글리프 현대 시스템에서는 살아남지만 구형 CI 파이프라인과 CDN 경로를 깨뜨림.

적용되는 정규화 단계

  1. ASCII 변환. 악센트가 있는 문자는 기본 문자로 바뀝니다. cafécafe로, naïvenaive가 됩니다. ASCII에 해당하는 게 없는 문자(CJK, 이모지)는 제거됩니다.
  2. 금지 문자 교체. \ / : * ? " < > |와 제어 문자는 선택한 대체 문자(기본값: 하이픈)가 됩니다.
  3. 공백 합치기. 연속된 공백과 탭이 단일 대체 문자가 됩니다.
  4. 끝부분 다듬기. 앞과 뒤의 점과 대체 문자는 제거되고, 비어 있는 결과는 file이 됩니다.
  5. 확장자 보존. 이름 중간의 점은 교체되지 않으므로 .pdf, .jpg, .tar.gz는 살아남고, 끝의 점만 제거됩니다.

  • 확장자를 유지하세요. 이름 중간의 점은 유지되므로 .pdf, .jpg, .tar.gz는 그대로 남습니다.
  • 충돌을 확인하세요. 악센트는 항상 변환되므로 Résumé.pdfResume.pdf가 모두 resume.pdf가 됩니다. 제자리 이름 변경 전에 출력을 검토하세요.
  • 웹 경로. URL은 정리 후 퍼센트 인코딩도 하세요, 또는 더 나아가 URL slug를 [a-z0-9-]의 부분집합으로 유지하면 인코딩이 전혀 필요 없습니다.

자주 묻는 질문

웹 자산과 크로스 플랫폼 ZIP의 경우 예, 파일이 대소문자 무시 Windows 서버에 업로드되고 대소문자 구분 Linux CDN에서 링크될 때 미묘한 버그를 피합니다. 정리기는 대소문자를 바꾸지 않으므로, 필요하면 직접 소문자로 바꾸세요. 로컬 작업에서는 취향입니다.

공백은 모든 현대 OS에서 합법이지만 URL 인코딩(%20)을 강제하고, 많은 셸 파이프라인을 깨뜨리며, 오래된 도구를 혼란스럽게 합니다. 하이픈으로 교체하면 버그 한 부류 전체를 제거합니다.

정리기는 항상 순수 ASCII를 출력합니다. 악센트가 있는 문자는 변환되고(cafécafe), 키릴 문자는 라틴 문자 근사로 변환되며, ASCII에 해당하는 게 없는 문자(CJK, 태국어, 이모지)는 제거됩니다. 대상 환경에서 원래 비라틴 이름이 필요하다면 별도 파일에 보관하세요.

아니요, 목록은 요청 중에 메모리에서 정리되며 이후 저장되거나 어떤 로그에도 기록되지 않습니다.

관련 도구

이 도구는 다른 언어로도 제공됩니다