¿Qué inspiró esta solicitud de lista de deseos?
La importación de varios archivos no muestra los archivos en una carpeta debido a una detención total del procesamiento al llegar a una ruta de archivo de gran longitud
¿Cuál es la mejora que le gustaría ver? JMP puede realizar una de las siguientes acciones:
- Actualizar MFI para omitir o atenuar los archivos que tienen rutas de acceso demasiado largas, pero aún así procesar todos los demás archivos
- Actualice el manifiesto de la aplicación JMP para permitir rutas de mayor longitud, de modo que aquellos que tengan la configuración de registro activada puedan utilizar rutas más largas.
¿Por qué es importante esta idea?
En este caso particular, la ruta de una carpeta era larga y ciertos archivos de la misma superaban el límite de 260 caracteres de Windows. La consecuencia fue que MFI solo mostraba los primeros 14 archivos de la carpeta (el 15.º era el primer archivo que infringía la regla), pero había muchos archivos en la carpeta que estaban bien. MFI debería poder mostrar esos archivos.
Además, según el artículo de Windows mencionado ( https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry ), un usuario puede activar rutas de acceso largas en su registro, PERO también es necesario actualizar el manifiesto de la aplicación. Del artículo se desprende que esto es algo que controla JMP.
La primera opción mencionada simplemente incorporaría un try() al sistema para que los archivos que no se puedan procesar no se incluyan como tales, pero una solución más larga y mejor puede ser la última, donde JMP permite utilizar rutas de larga longitud siempre que el usuario tenga las claves de registro correctas.
Para agregar a esto y sugerir que la respuesta puede estar en la segunda opción más que en la primera:
Names default to here(1);
dir = Pick Directory();
files = FilesinDirectory(dir);
Si se ejecuta el script anterior y navegamos hasta la carpeta en cuestión, la variable de archivos solo se rellena con los primeros archivos antes de que se supere la longitud de la ruta. Por lo tanto, el problema parece estar relacionado con la forma en que JMP utiliza la API de Windows para acceder a los archivos.
Por lo tanto, la única solución puede ser la opción n°2.