개발관련/Linux

Windows 및 Linux 디렉토리 이름에서 금지 된 문자

Rateye 2021. 7. 1. 10:00
728x90
반응형
질문 : Windows 및 Linux 디렉토리 이름에서 금지 된 문자는 무엇입니까?

/ 가 Linux에서 금지라는 것을 알고 있으며 다음은 Windows에서 금지입니다 (내 생각에) * . " / \ [ ] : ; | ,

내가 또 무엇을 놓치고 있습니까?

그러나 포괄적 인 가이드와 더블 바이트 문자를 고려한 가이드가 필요합니다. 외부 리소스에 연결하는 것은 괜찮습니다.

먼저 금지 된 문자를 포함 할 수있는 이름을 사용하여 파일 시스템에 디렉토리를 만들어야하므로 해당 문자를 밑줄로 바꿀 계획입니다. 그런 다음이 디렉토리와 그 내용을 zip 파일 (Java 사용)에 작성해야하므로 zip 디렉토리 이름에 대한 추가 조언을 주시면 감사하겠습니다.

답변

금지 된 파일 이름 문자에 대한 "종합 가이드"는 파일 이름과 문자를 예약하기 때문에 Windows에서 작동하지 않습니다. 예, * " ? 등의 문자는 금지되어 있지만 금지 된 유효한 문자로만 구성된 이름은 무한히 있습니다. 예를 들어 공백과 점은 유효한 파일 이름 문자이지만 해당 문자로만 구성된 이름은 금지됩니다.

Windows는 대문자와 소문자를 구분하지 않으므로 a라는 이름 A a 이미있는 경우 A라는 폴더를 만들 수 없습니다. PRNCON 과 같은 겉보기에 허용되는 이름 및 기타 많은 이름이 예약되어 허용되지 않습니다. Windows에는 또한 몇 가지 길이 제한이 있습니다. 한 폴더에서 유효한 파일 이름을 다른 폴더로 이동하면 유효하지 않게 될 수 있습니다. 파일 및 폴더 이름 지정 규칙은 Microsoft 문서에 있습니다.

일반적으로 사용자 생성 텍스트를 사용하여 Windows 디렉터리 이름을 만들 수 없습니다. 사용자가 원하는 이름을 지정하도록 허용하려면 A , AB , A2 등의 안전한 이름을 만들고 사용자 생성 이름과 해당 경로를 애플리케이션 데이터 파일에 저장하고 애플리케이션에서 경로 매핑을 수행해야합니다. .

사용자 생성 폴더 이름을 반드시 허용해야하는 경우 해당 이름이 유효하지 않은지 확인하는 유일한 방법은 예외를 포착하고 이름이 유효하지 않다고 가정하는 것입니다. 액세스 거부, 오프라인 드라이브 및 드라이브 공간 부족에 대해 throw되는 예외가 잘못된 이름에 대해 throw 될 수있는 예외와 겹치기 때문에이 경우에도 위험이 따릅니다. 당신은 큰 상처를 입힐 수 있습니다.

출처 : https://stackoverflow.com/questions/1976007/what-characters-are-forbidden-in-windows-and-linux-directory-names
728x90
반응형