La longitud del nombre de archivo de Windows 7 está limitada a 129 caracteres.

17

Estoy tratando de nombrar correctamente los MP3 y llegué a una longitud arbitraria de 129 caracteres (¿no 128?). NTFS admite 255 caracteres en los nombres de archivo, ¿cómo soluciono esto?

Star Wars - 6 - El retorno del Jedi - 2 - 07 - Batalla de Endor 2, Leia está herida, comienza el duelo, Búnker de adelantamiento, Dark Si.mp3

John
fuente
2
Es mejor no confiar en nombres de archivo realmente largos, ya que esto puede generar una serie de problemas. Los MP3 pueden tener metadatos incrustados en forma de etiquetas ID3 para esto y / o usar directorios.
JamesRyan
3
Abro archivos y listas de reproducción; No uso "bibliotecas de medios". Mis colecciones tienen el nombre correcto, no tengo ningún archivo "1.mp3" y no soporto que las personas sean demasiado flojas para nombrar correctamente los archivos; que "1.mp3" cuando cada álbum tiene al menos una pista. ಠ_ಠ
John

Respuestas:

13

Es posible que exceda un total de 260 caracteres para todo el nombre de ruta, incluidos los caracteres de barra diagonal inversa.

¿Cuántos caracteres hay en la ruta, incluido el nombre del archivo mp3?

David Paige
fuente
1
Sí, resulta que renombrar los archivos en el disco sin directorios permite nombres más largos. Es bastante lamentable que el nombre del archivo y las rutas se cuenten juntos y no por separado.
John
55
la constante MAX_PATH se define como 260, no 256
phuclv
Sin embargo, las carpetas solo tienen un máximo de "247 char + <null>". Ver stackoverflow.com/a/15971467/632951
Pacerier
35

En Windows, la longitud total predeterminada de la ruta no debe exceder los 260 caracteres ( drive+ :\+ 255 characters of filename+ null terminator+ probablemente para el final \en caso de que la ruta sea un directorio o simplemente para redondear). Fue una reliquia de la era de los 8.3 nombres de DOS, donde una ruta de 260 caracteres es una ruta realmente profunda.

Es posible que su ruta a la carpeta ya sea muy larga, por lo que la parte restante de su nombre de archivo es solo 129. Si desea una ruta más larga, tiene varias soluciones:

  • use nombres de archivo completos con \\?\prefijo, de esta manera puede usar un máximo de 32767 caracteres en la ruta
  • cambiar el nombre de las carpetas en la ruta para que sea más corto
  • monte la carpeta que contiene el archivo en un carácter de unidad con subst/ mountvol/ diskmgmt.msc . De esta manera, puede utilizar el máximo de 255 caracteres para su nombre de archivo
  • crear un enlace / enlace simbólico a otra carpeta menos profunda en la ruta. No puede crear enlaces a letras de unidad, por lo tanto, no puede obtener nombres de archivo siempre que haya utilizado el método de montaje

Desde Windows 10 hay otra opción eliminando la limitación de MAX_PATH § . Puede habilitarlo configurando HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnableden el registro o configurando Configuración del equipo> Plantillas administrativas> Sistema> Sistema de archivos> Habilitar rutas largas NTFS en la política de grupo


Lee mas:

La ruta máxima de 32,767 caracteres es aproximada, porque el sistema \\?\puede expandir el prefijo a una cadena más larga en tiempo de ejecución, y esta expansión se aplica a la longitud total.

§ A partir de Windows 10, versión 1607, las MAX_PATHlimitaciones se han eliminado de las funciones comunes de archivos y directorios de Win32. Sin embargo, debe optar por el nuevo comportamiento.

phuclv
fuente
Gracias, David publicó primero y funcionó, pero incluiste recursos para +1.
John
1
Una solución similar es usar una unión. Echa un vistazo a schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
Urhixidur el
1
Prefiero usar esta respuesta también. De esa manera, puede mantener sus archivos donde desee, y aún así poder nombrarlos de la manera que desee. Además, cuando los copia en su dispositivo, lo más probable es que no le importe la tonta limitación de Windows, ya que tienen una jerarquía de archivos muy plana y es posible que ni siquiera usen el nombre del archivo directamente (por ejemplo, iPhone / iPad / iEtc usa hexadecimal) caracteres para nombres de archivo y referencias cruzadas a un archivo de índice).
phyrfox
El número máximo de caracteres para un nombre de archivo es 255 caracteres, no 256
Edd
@ Añadir 255 caracteres + terminación nula
phuclv
0

Windows 7 le permitirá guardar nombres de archivo de más de 256 caracteres, incluidos los nombres de ruta, y también se puede acceder a ellos fácilmente. La única pequeña dificultad con la que se puede encontrar es cuando las copia de un lugar a otro, pero se le presentará una ventana emergente que le preguntará si desea cambiar el nombre del archivo, no copiar el archivo o guardarlo como está. Siempre lo guardo como está y nunca he tenido ningún problema. Probablemente tengo un par de cientos de nombres de archivo que exceden el límite.

Brusco
fuente
no, no le permitirá guardar archivos de más de 255 caracteres ya que ese es el límite del sistema de archivos
phuclv
el camino, sin embargo, puede ser un poco más largo (o mucho más después de eliminar la limitación MAX_PATH)
phuclv