\ / : *와 같은 특수 문자를 사용하여 폴더 이름 또는 파일 이름을 만드는 방법 "<> | [중복]


9

내 문제는 \ / : *와 같은 특수 문자가있는 폴더 또는 파일 이름을 줄 수 없다는 것입니다. Windows 기반 OS에서 "<> |이 유형의 문자를 포함하는 파일 / 폴더의 이름을 지정하는 것이 나에게 매우 중요합니다.

나는 이미이 문제에 대해 너무 많은 사이트를 검색하고 참조하지만 모두 희망이 없습니다. 또한 Microsoft 지원 페이지를 읽고 다른 문자를 사용하는 것이 좋습니다. 이 링크는 https://support.microsoft.com/en-us/kb/177506입니다.

숫자 키패드 키 에서이 유형의 특수 문자의 Alt 버튼 + ASCII 코드 번호를 이미 시도합니다. 예를 들어 파일 / 폴더 이름 바꾸기와 Alt + 60을 누르십시오 (<문자의 경우) 여전히 파일 이름에 다음 중 하나를 포함 할 수 없습니다 문자 : \ / : *? "<> |

이 유형의 특수 문자를 사용하여 파일 / 폴더의 이름을 지정할 수 있도록 적합한 솔루션을 제안하십시오.


궁금한 점은 무엇입니까?
Kamil Maciorowski

@ kamil 이것은 내 파일 / 폴더의 이름과 하나의 도전적인 작업을위한 것입니다.
Kirit_Vanani

@ PIMP_JUICE_IT 나는 이미 그것을했다, (literalString -LiteralPath하지만 여전히 성공을 얻을 수 없습니다.
Kirit_Vanani

이러한 문자를 사용하여 파일을 작성할 있더라도 프로그램을 열거 나 저장할 수 없습니다.
Keltari

10
– 팔꿈치를 핥는 방법은 무엇입니까? – 당신은 할 수 없습니다. –하지만해야합니다. – 팔을 부러 뜨려 시도해도 팔은 쓸모가 없습니다. – 상관 없어요. 팔꿈치 만 핥 으면됩니다.
Kamil Maciorowski

답변:


16

이 문자가 포함 된 파일 / 폴더의 이름을 지정하는 것은 나에게 매우 중요합니다.

그것은 당신에게 중요 할 수도 있지만, 당신은 이것을 놓아서 문제를 해결할 다른 방법을 찾아야 할 것입니다.

파일 이름을 처리하는 Windows OS 함수 호출에서는 이러한 문자를 사용할 수 없습니다.

다른 용도로 사용되기 때문에 구체적으로 허용되지 않습니다.

  • \-경로 구분 기호 및 이스케이프 문자 로 사용하도록 예약 됨
  • / -경로 구분자로 사용하기 위해 예약 됨
  • : -드라이브 이름 구분자로 사용하기 위해 예약 됨
  • *?- 와일드 카드 문자 로 사용하도록 예약 됨
  • "- 공백이 포함 된 이름 을 인용 하는 데 사용
  • <, >|-이 명령 등의 사용을 위해 예약 리디렉션 사업자

물론 다른 운영 체제를 사용하여 이러한 문자를 포함하는 이름을 가진 파일을 작성할 수 있습니다 (운영 체제가 Windows 파일 시스템을 읽고 쓸 수있는 한).

그러나 Windows 프로그램을 사용하여 해당 파일로 작업을 수행 할 수 없으며 파일 이름을 이해하지 못하고 오류가 발생합니다.


파일 이름, 경로 및 네임 스페이스

명명 규칙

다음과 같은 기본 규칙을 통해 응용 프로그램은 파일 시스템에 관계없이 파일 및 디렉토리의 유효한 이름을 만들고 처리 할 수 ​​있습니다.

...

다음을 제외하고 확장 코드 세트 (128–255)의 유니 코드 문자 및 문자를 포함하여 이름에 현재 코드 페이지의 문자를 사용하십시오.

  • 다음 예약 문자 :

    < (less than)
    > (greater than)
    : (colon)
    " (double quote)
    / (forward slash)
    \ (backslash)
    | (vertical bar or pipe)
    ? (question mark)
    * (asterisk)
    
  • 정수 값 0, 때로는 ASCII NUL 문자라고도합니다.
  • 정수 표현이 1-31 범위 인 문자 (이 문자가 허용되는 대체 데이터 스트림 제외). 파일 스트림에 대한 자세한 내용은 파일 스트림을 참조하십시오.
  • 대상 파일 시스템이 허용하지 않는 다른 문자

소스 이름 지정 파일, 경로 및 네임 스페이스


그러나 나는 정말로 어쨌든 이것을하고 싶다.

cygwin을 설치 하고 사용하십시오 touch.

모든 가능성을 테스트하지는 않았지만 다음과 같은 작업을 수행했습니다.

touch :
touch \|
touch \"
touch \>

출력 예 :

DavidPostill@Hal /f/test/impossible
$ ll
total 0
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:03 '"'
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:02 :
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:02 '|'
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:07 '>'

보시다시피 Windows에서는 사용할 수 없습니다.

F:\test\impossible>dir
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of F:\test\impossible

10/08/2016  21:07    <DIR>          .
10/08/2016  21:07    <DIR>          ..
10/08/2016  21:03                 0 
10/08/2016  21:02                 0 
10/08/2016  21:07                 0 
10/08/2016  21:02                 0 
               4 File(s)              0 bytes
               2 Dir(s)  1,772,601,536,512 bytes free

여기에 이미지 설명을 입력하십시오


답변 해 주셔서 감사합니다. 약간 도움이 되겠지만 문제는 여전히 똑같습니다. 다른 특별한 슈퍼 유저가이 특수 문자로 이름을 바꾸는 방법을 생각합니다.
Kirit_Vanani

2
@Kirit 해당 문자를 사용하여 파일을 만들 수는 있지만 Windows에서 해당 문자로 작업을 수행 할 수 없으며 Windows 내에서 해당 파일을 사용하려고하면 오류가 발생합니다.
DavidPostill

@ DavidPostill Ohh, 해당 문자로 파일 이름을 만드는 방법. 오류가 발생해도 신경 쓰지 않지만 이제 작업은 이러한 유형의 문자 이름을 부여합니다.이 파일에 액세스하려면 다른 Linux 기반 운영 체제를 사용합니다
Kirit_Vanani

1
@Kirit 나는 이미 "당신은 다른 운영 체제를 사용하여 이러한 문자를 포함하는 이름을 가진 파일을 만들 수 있습니다 (운영 체제가 Windows 파일 시스템을 읽고 쓸 수있는 한)"라고 대답했습니다.
DavidPostill

3
@Kirit 나는 그것이 불가능하다고 이미 말했다 .
DavidPostill

3

나만의 글꼴 세트를 만드십시오. 사용하지 않는 문자 중 일부를 예약 된 문자의 이미지로 바꾸십시오.


1
그 또는 비슷한 문자를 사용합니다. 유니 코드를 사용하면 무엇이든 가능합니다. 🎃
Daniel B

@ Craig620 저에게는 불가능할 수도 있습니다. 그것에 대한 힌트를 줄 수 있습니다.
Kirit_Vanani

확실하지 않은, 단지 미친 생각이 떠 오릅니다. 아마 타이포그래피 나 출판을위한 Stack Exchange 포럼이 있습니까?
Clayton

2

Windows에서는 해당 문자로 파일을 작성할 수 없습니다. 해결책은 없습니다. 이러한 문자는 Win32 API에서 금지되어 있습니다.

Win32는 POSIX 네임 스페이스의 하위 집합이며 대소 문자를 구분하지 않습니다. ' "' '*' '/' ':' '<' '>' '?'을 제외한 모든 유니 코드 문자를 사용합니다. '\' '|' NB 이름은 점 '.'또는 공백 ''으로 끝날 수 없습니다.

-http : //dubeyko.com/development/FileSystems/NTFS/ntfsdoc.pdf


NTFS는 문제가 아닙니다. (실제로이 문자 들은 Interix 지원을 위해 필요했습니다.) 문제는 Windows 자체입니다. 즉, 기본 FS가 무엇이든 Win32 API에 의해 제한이 적용됩니다.
user1686

@grawity, 당신은 내 추가 조사에 근거한 것으로 보입니다. 이것을 반영하기 위해 답변을 편집했습니다.
ChrisInEdmonton

NTFS는 문제가되지 않는다고 생각합니다. 해결책이 있어야합니다. Linux 기반 OS에서 NTFS 드라이브에 액세스 할 때 이러한 유형의 문자를 입력 할 수 있습니다.
Kirit_Vanani

"이름은 Dot로 끝날 수 없습니다". 잘못되었습니다. 으로 끝나는 파일 이름을 지정할 수 있습니다 .. 당신은 단지 그들로부터 많은 것을 할 수 없습니다 cmd:)
DavidPostill

1
@Kirit 당신은 그것이 불가능하다고 여러 번 들었습니다 .
DavidPostill
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.