¿Cómo creo un directorio con un espacio al final?

¿Cómo creo un directorio con un espacio al final?

Estoy usando Windows 7 y necesito, por razones fuera de mi control, crear un directorio que termine en un solo espacio. Contendrá varios archivos y subdirectorios.

Intenté mdy renametambién con rutas UNC, pero fallé, ya sea dando una "sintaxis incorrecta" o, más a menudo, simplemente ignorando el espacio.

¿Cómo puedo hacerlo?

Respuesta1

Para crear un directorio en Windows con un carácter de espacio al final, abra un símbolo del sistema e ingrese lo siguiente:

md "\\?\C:\mydirectory "

El directorio debe ser un directorio absoluto (no relativo) y debe tener el prefijo\\?\

Del mismo modo puedes eliminar el directorio con el comando rd.

rd "\\?\C:\mydirectory "

pero el directorio debe estar vacío antes de eliminarlo con este comando.

Respuesta2

cygwin puede

$ 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

Está bien, claramente funcionó ya que tenemos 3 directorios distintos, pero intentemos obtener algún tipo de prueba adicional.

$ 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)

Otro

ls ofrece algunas opciones de formato como vertical y otras, por ejemplo, con comas

--format=WORD
       across -x, commas -m, horizontal -x, long -l, single-column  -1,
       verbose -l, vertical -C

--

$ ls -m
abcde, abcde , abcde

Observe el espacio antes de la coma porque el espacio está en el nombre del archivo. El ',' está formateando. Pero ',' muestra que hay espacio en el nombre del archivo.

$ ls -m | xxd
0000000: 6162 6364 652c 2061 6263 6465 202c 2061  abcde, abcde , a
0000010: 6263 6465 2020 0a                        bcde  .

--

Una demostración muy clara sin necesidad de mirar ningún hexágono para verificar, es:

$ mkdir 'abcde           '


$ mkdir z


$ ls -m
abcde, abcde , abcde  , abcde           , z


$

Otra forma, como menciona Mafu en el comentario, es Mingw, que tiene un paquete Msys que puede instalar en el administrador de ming mackage, y msys instala muchos comandos, por C:\MinGW\msys\1.0\bin>ejemplo, en mkdir.exe, y también tiene un bash.exe.

Respuesta3

Tenga en cuenta que la creación de un archivo no compatible con Windows puede crear una situación en la que es posible que no pueda eliminarlo por medios normales.

Inicie en una instalación de Linux o en un CD en vivo, luego ejecute este comando

mkdir "<mountpoint>/dirname"

Necesitará las comillas.

Vea esto para saber cómo eliminar

información relacionada