
Estoy intentando mover mis archivos de Win 7 a mi caja FreeNAS. Sigo recibiendo errores porque mi ruta es demasiado larga y algunos archivos no se transfieren porque tienen caracteres especiales como los acentos. Algunos archivos se transfieren pero el nombre del archivo cambia. es decir. "é" -> "_".
Estoy tratando de evitar esto. ¿Qué software puedo usar para escanear el directorio dado en busca de nombres de rutas largas y nombres de archivos que tengan caracteres no válidos?
Respuesta1
Este script de PowerShell escaneará una carpeta e imprimirá todos los archivos y carpetas que no contengan un conjunto de caracteres o que tengan una longitud determinada:
$path="Q:\Test";
$length=55;
$legalChars="^([a-z0-9\.\-_ ])+$";
Get-ChildItem $path -recurse | %{
if(($_.Name).length -gt $length)
{
write-host $_.FullName
}
elseif($_.Name -notmatch $legalChars)
{
write-host $_.FullName
}
}
Editar: ahora solo prueba la longitud del nombre de archivo, no la longitud completa de la ruta; cambie la primera condición if de .Name a .FullName para probar la longitud de la ruta.