저는 Windows 7을 사용하고 있는데 통제할 수 없는 이유로 단일 공백으로 끝나는 디렉터리를 만들어야 합니다. 여기에는 다양한 파일과 하위 디렉터리가 포함됩니다.
md
UNC 경로를 사용하여 및 를 시도했지만 rename
'잘못된 구문'을 제공하거나 더 자주 단순히 공백을 무시하여 실패했습니다.
내가 어떻게 해?
답변1
후행 공백 문자를 사용하여 Windows에서 디렉터리를 생성하려면 명령 프롬프트를 열고 다음을 입력합니다.
md "\\?\C:\mydirectory "
디렉터리는 절대(상대 디렉터리가 아님) 디렉터리여야 하며 접두사가 다음과 같아야 합니다.\\?\
마찬가지로 rd 명령을 사용하여 디렉토리를 삭제할 수 있습니다
rd "\\?\C:\mydirectory "
하지만 이 명령을 사용하여 삭제하기 전에 디렉터리는 비어 있어야 합니다.
답변2
시그윈은 할 수 있다
$ mkdir 'abcde'
$ mkdir 'abcde '
$ mkdir 'abcde '
$ ls -l
total 0
drwxr-xr-x+ 1 user None 0 May 15 17:11 abcde
drwxr-xr-x+ 1 user None 0 May 15 17:11 abcde
drwxr-xr-x+ 1 user None 0 May 15 17:11 abcde
좋습니다. 3개의 서로 다른 디렉토리가 있으므로 확실히 작동했습니다. 하지만 추가 증거를 찾아보겠습니다.
$ echo * | xxd
0000000: 6162 6364 6520 6162 6364 6520 2061 6263 abcde abcde abc
0000010: 6465 2020 0a de .
6162 6364 65 20<---- that's the dir abcde, and echo * put a space in after as there is another item it lists.
6162 6364 6520 20 <-- that's the dir 'abcde ', and echo * displayed it with a space in as there is another item it lists
61 62636465 2020 0a <-- that's the dir 'abcde ', and echo * displayed it followed by new line(0a)
또 다른
ls는 verical 및 기타 쉼표와 같은 일부 형식 지정 옵션을 제공합니다.
--format=WORD
across -x, commas -m, horizontal -x, long -l, single-column -1,
verbose -l, vertical -C
--
$ ls -m
abcde, abcde , abcde
파일 이름에 공백이 있기 때문에 쉼표 앞에 공백이 있는지 확인하십시오. ','는 서식을 지정하는 중입니다. 하지만 ','는 파일 이름에 공백이 있음을 나타냅니다.
$ ls -m | xxd
0000000: 6162 6364 652c 2061 6263 6465 202c 2061 abcde, abcde , a
0000010: 6263 6465 2020 0a bcde .
--
확인하기 위해 16진수를 볼 필요 없이 매우 명확한 데모는-
$ mkdir 'abcde '
$ mkdir z
$ ls -m
abcde, abcde , abcde , abcde , z
$
Mafu가 설명에서 언급한 또 다른 방법은 Ming Mackage 관리자에 설치할 수 있는 Msys 패키지가 있는 Mingw이며, msys는 C:\MinGW\msys\1.0\bin>
mkdir.exe에 많은 명령을 설치하고 bash.exe도 포함합니다.
답변3
Windows에서 지원하지 않는 파일을 생성하면 일반적인 방법으로는 해당 파일을 삭제할 수 없는 상황이 발생할 수 있습니다.
Linux 설치 또는 라이브 CD로 부팅한 후 이 명령을 실행하세요.
mkdir "<mountpoint>/dirname"
따옴표가 필요합니다.