Cuando migra archivos a SharePoint o OneDrive, el informe de migración puede mostrar elementos que fallaron debido a caracteres no admitidos. Este error ocurre porque SharePoint y OneDrive no aceptan ciertos caracteres en nombres de archivo o carpeta. Los caracteres incluyen ~, #, %, &, , {, }, \, :, <, >, ?, /, | y ". Este artículo explica por qué ocurre el error y le brinda pasos claros para corregir los nombres antes o después de la migración.
Conclusiones clave: Cómo corregir caracteres no admitidos en la migración de SharePoint
- Escaneo con la herramienta de migración de SharePoint (SPMT): Escanee previamente sus archivos para encontrar todos los caracteres no admitidos antes de la migración real.
- Script de PowerShell para renombrar archivos: Reemplace o elimine automáticamente caracteres no admitidos en lote para archivos locales o locales (on-premises).
- Renombrado manual en el Explorador de archivos: Use Buscar y reemplazar o renombre cada archivo cuando solo unos pocos elementos contengan caracteres no válidos.
Por qué los caracteres no admitidos causan fallos en la migración
SharePoint y OneDrive utilizan las reglas de nombres del sistema de archivos de Windows, pero añaden restricciones adicionales. Los siguientes caracteres no están permitidos en nombres de archivo o carpeta de SharePoint:
~tilde#signo de número%porcentaje&ersandasterisco{llave izquierda}llave derecha\barra invertida:dos puntos<signo menor que>signo mayor que?signo de interrogación/barra diagonal|barra vertical"comillas dobles
Cuando ejecuta una migración, la herramienta de migración de SharePoint (SPMT) o cualquier herramienta de terceros escanea cada nombre de archivo. Si encuentra alguno de estos caracteres, registra el archivo como un error en el informe de migración. La causa raíz es estrictamente una restricción de nombres en SharePoint. La biblioteca de destino no puede crear un archivo con esos caracteres, por lo que la migración omite o falla el elemento.
El informe de migración normalmente muestra la ruta completa y el carácter específico que causó el error. Debe renombrar el archivo o carpeta antes de poder migrarlo correctamente.
Pasos para corregir caracteres no admitidos antes o después de la migración
Puede corregir los nombres de archivo antes de comenzar la migración o después de que el informe muestre errores. Los siguientes métodos funcionan para archivos locales (on-premises), unidades de red locales o archivos ya almacenados en una ubicación temporal.
Método 1: Usar el escaneo previo de la herramienta de migración de SharePoint
- Descargue y abra SPMT
Vaya al centro de administración de Microsoft 365 y descargue la herramienta de migración de SharePoint. Instálela y ábrala en el equipo que tenga acceso a los archivos de origen. - Elija su origen
Seleccione la ubicación de origen: una carpeta local, un recurso compartido de red o una granja de SharePoint local (on-premises). Ingrese la ruta a la carpeta que contiene los archivos que desea migrar. - Ejecute solo un escaneo
En la interfaz de SPMT, elija la opción de escanear los archivos sin migrar. Esto genera un informe que enumera todos los archivos con caracteres no admitidos. El informe muestra la ruta completa del archivo y el carácter que no está permitido. - Revise el informe de escaneo
Abra el archivo CSV que crea SPMT. Busque la columna llamada "Issue" o "FailureReason". Cada fila con un carácter no admitido mostrará el carácter específico, por ejemplo, "Character '#' is not allowed." - Renombre los archivos manualmente o con un script
Use el Método 2 o el Método 3 a continuación para renombrar los archivos enumerados en el informe de escaneo. Después de renombrar, ejecute un nuevo escaneo para confirmar que no queden problemas.
Método 2: Usar un script de PowerShell para reemplazar caracteres no admitidos
- Abra PowerShell como administrador
Presione la tecla de Windows, escriba PowerShell, haga clic derecho en Windows PowerShell y seleccione Ejecutar como administrador. - Establezca la ruta de la carpeta
Ejecute este comando para definir la carpeta que contiene sus archivos. ReemplaceC:\SourceFilescon su ruta real.$path = "C:\SourceFiles" - Ejecute el script de renombrado
Copie y pegue el siguiente script en PowerShell. Reemplaza todos los caracteres no admitidos con un guion bajo_.Get-ChildItem -Path $path -Recurse | Where-Object { $_.Name -match '[~#%&{}:<>?/|"\]' } | Rename-Item -NewName { $_.Name -replace '[~#%&{}:<>?/|"\\]', '_' } -ErrorAction SilentlyContinue - Verifique los cambios
EjecuteGet-ChildItem -Path $path -Recurse | Where-Object { $_.Name -match '[~#%&{}:<>?/|"\\]' }para confirmar que no queden caracteres no admitidos. La salida debería estar vacía.
Método 3: Renombrar archivos manualmente en el Explorador de archivos
- Abra la carpeta de origen en el Explorador de archivos
Navegue a la carpeta que contiene los archivos con caracteres no admitidos. - Ordene por nombre o fecha
Use los encabezados de columna para ordenar los archivos. Esto le ayuda a encontrar los archivos que el informe de migración identificó. - Haga clic derecho y renombre
Haga clic derecho en el archivo, seleccione Renombrar y elimine o reemplace el carácter no admitido. Por ejemplo, cambieProject #1.pptxaProject 1.pptx. - Presione Enter para guardar
Presione Enter para confirmar el nuevo nombre. Repita para cada archivo que tenga caracteres no admitidos.
Si el informe de migración aún muestra errores después de renombrar
Los archivos aún muestran el mismo error
Si renombra un archivo pero el informe de migración aún muestra el mismo error, verifique si la ruta del archivo es demasiado larga. SharePoint tiene un límite de longitud de ruta de 400 caracteres. Incluso con un nombre válido, una ruta larga puede causar un error. Acorte la estructura de carpetas o mueva el archivo a una carpeta de nivel superior.
Caracteres ocultos en nombres de archivo
Algunos archivos pueden contener caracteres invisibles como un espacio de no separación o un espacio de ancho cero. Estos caracteres no aparecen en el Explorador de archivos pero aún causan fallos en la migración. Use un editor hexadecimal o un comando de PowerShell como Get-ChildItem | Format-Hex para verificar si hay caracteres ocultos. Reemplácelos con un espacio normal.
Archivos con espacio inicial o final
SharePoint recorta los espacios iniciales y finales en los nombres de archivo. Si un nombre de archivo tiene un espacio al principio o al final, la migración puede fallar. Renombre el archivo para eliminar el espacio. Use PowerShell: Get-ChildItem -Path $path | Rename-Item -NewName { $_.Name.Trim() }
Caracteres no admitidos: comparación antes y después de la corrección
| Elemento | Nombre original (falla) | Nombre corregido (pasa) |
|---|---|---|
| Archivo con tilde | Draft~1.docx | Draft_1.docx |
| Archivo con signo de número | Project #1.pptx | Project 1.pptx |
| Archivo con dos puntos | Notes: 2024.txt | Notes 2024.txt |
| Archivo con signo de interrogación | What?.pdf | What.pdf |
| Archivo con asterisco | Final Draft.xlsx | Final Draft.xlsx |
Ahora puede identificar y corregir caracteres no admitidos en sus archivos de origen de migración. Use el escaneo previo de SPMT para encontrar todos los caracteres no válidos antes de comenzar la migración principal. Para correcciones masivas, ejecute el script de PowerShell para reemplazar todos los caracteres no admitidos con guiones bajos en una sola pasada. Después de renombrar, ejecute un segundo escaneo para confirmar cero errores. Este enfoque ahorra tiempo y evita intentos de migración repetidos.