Tengo un montón de archivos en un cuadro de Ubuntu, que tienen varios caracteres en sus nombres de archivo que Windows no acepta (principalmente ":" y "*", pero posiblemente otros).
¿Cuál es la forma más simple de cambiar el nombre y moverlos a una máquina con Windows? Está bien reemplazar estos caracteres con algo como "[dos puntos]" y "[asterisco]".
linux
rename
batch-rename
RomanSt
fuente
fuente
*
).:
, lo cual es bastante malo. Nombrar documentos después de su contenido es útil, y si el nombre de un artículo termina con una pregunta, también lo debería ser el nombre del archivo.Respuestas:
Echa un vistazo al cambio de nombre y desintoxicación de Glindra .
Las utilidades de archivos de Glindra se pueden instalar en Windows o Linux. Ejemplos de limpieza de nombres de archivos en Windows:
guiones iniciales (guiones) a guiones bajos.
Contrae espacios.
Asigna caracteres problemáticos como * ?: [] "<> | () {} para subrayar.
Realiza las mismas operaciones de limpieza que -safe, y además: asigna
todos los caracteres de 8 bits de la mitad superior del alfabeto latino 1 a caracteres de reserva razonables de 7 bits.
Mapea los caracteres de comillas simples '' ´ para subrayar.
Fuente: fijación de nombres de archivo Unix / Linux / POSIX: caracteres de control (como Newline), guiones iniciales y otros problemas
fuente
G:\spc>rena.exe -safe -portable *.txt
salidas[FATAL-ERROR] Filename syntax error: aa:a.txt
rena '*.*' -portable
, y si lo desea de forma recursiva, use algo comorena '***/*.*' -portable
en Linux. Y creo que el cambio de nombre debe hacerse en Linux, no en Windows.Prueba Recuva .
Es la única utilidad de Windows que he encontrado que maneja nombres de archivo no compatibles con Windows.
Habilite Escanear en busca de archivos no eliminados (para recuperación de discos dañados o reformateados) y escanee su carpeta. En la restauración, habilite Restaurar estructura de carpetas . Recuva efectivamente "copiará" todo el directorio a otra ubicación mientras "santifica" los nombres de archivo hostiles.
fuente
Sin estar en Linux y sin probar nada, creo que uno podría usar frases ingeniosas como las siguientes.
Para cambiar un personaje:
Y finalmente para eliminar todos los caracteres no alfanuméricos:
fuente
<>:"/\|?*
Si sus archivos ya están en un volumen NTFS, parece que ejecutar chkdisk desde Windows "resuelve" el problema. Desafortunadamente, parece que lo hace al eliminar los archivos ofensivos.
fuente
Me las arreglé con una combinación de las dos primeras respuestas, más pyRenamer (GUI). En Linux, utilicé pyRenamer para contraer espacios en los nombres de carpetas (directorios), sustituyendo el espacio con nada, para que los otros programas (cambio de nombre de Glindra) funcionen de forma recursiva (uno podría poner guiones bajos). De los archivos, también saqué algunos caracteres o palabras aceptables para Windows para ahorrar espacio, y espacios colapsados de manera similar en los nombres de archivo. Luego ejecuté rena para extraer caracteres que no son de Windows, los guardé en una unidad flash y luego usé Recuva para 'restaurar' a una carpeta en Windows. Recuva indica si la ruta de un archivo es demasiado larga (y también elimina los caracteres que no son de Windows). Todavía no he encontrado una herramienta que verifique la ruta de los nombres de archivo para ver si están por debajo del límite máximo de Windows de 255 (o digamos 240 para permitir un margen de maniobra).
fuente