Restaurar nombres completos de carpetas y archivos para archivos de proyectos en Windows
Contexto
Al utilizar la herramienta Archivo de proyectos para extraer archivos de proyectos, puede encontrar problemas con rutas de archivo largas y estructuras de subcarpetas anidadas que pueden superar el límite de ruta estándar de Windows de 260 caracteres. Para evitar archivos rotos y errores de extracción, la herramienta Archivo del proyecto trunca automáticamente los nombres de carpetas y archivos durante la extracción.
Para ayudarlo a restaurar la carpeta completa y los nombres de archivo después de la extracción, Procore incluye un archivo de asignación de ruta CSV (path-map.csv) dentro de la carpeta de archivo extraído. Este archivo enumera cada nombre truncado junto con su nombre completo correspondiente. Puede usar el archivo CSV junto con un script de PowerShell estándar para restaurar rápidamente todos los nombres de ítem completos.
Aspectos para tener en cuenta
-
Información Adicional:
-
No ejecute el script de PowerShell en un archivo sin extraer
archivo ziparchivo de almacenamiento. -
Cierre los archivos o documentos abiertos que se encuentren dentro de la carpeta de archivo extraída antes de ejecutar el script de PowerShell para evitar errores de bloqueo de archivos.
-
Ejecutar el script de PowerShell varias veces es seguro si ciertos nombres de carpeta o archivo ya se han restaurado parcialmente.
-
Requisitos previos
Abra la carpeta del archivo extraído
-
Descomprime tu archivo descargado
archivo ziparchivo de almacenamiento. -
Abra la carpeta de archivo descomprimida en el Explorador de archivos.
-
Verifique que el
path-map.csvarchivo esté presente en la carpeta de almacenamiento.
Nota: Este archivo CSV contiene tres columnas:Type,ShortenedNameyOriginalName.
Abra PowerShell en la carpeta de archivo extraído
Importante
Debe abrir PowerShell dentro de la ruta de acceso de la carpeta de archivo extraída. Si se abre desde otra ubicación, el script de PowerShell no localizarápath-map.csv ni sus archivos.Elija uno de los siguientes métodos:
Opción A: Barra de direcciones (recomendado)
-
En su sistema Windows, abra el Explorador de archivos.
-
En el Explorador de archivos, navegue hasta la carpeta de archivo extraído para que el
path-map.csvarchivo sea visible. -
Haga clic en un área vacía en la "Barra de direcciones" en la parte superior de la ventana (donde se muestra la ruta del archivo).
-
Escriba
powershelly pulse Intro.
Se abre la ventana de Windows PowerShell, cuyo destino es la ruta de acceso de la carpeta de archivo extraído.
Opción B: Menú contextual
-
En su sistema Windows, abra el Explorador de archivos.
-
Abra la carpeta extraída en el Explorador de archivos.
-
Mantenga presionada la tecla Mayús, luego haga clic con el botón derecho en un área vacía dentro de la ventana de la carpeta.
-
Seleccione Abrir ventana de PowerShell aquí (en Windows 11, seleccione Abrir en Terminal).
Verifica tu Directorio
En la ventana de PowerShell, escriba dir y presione Entrar.
-
Si
path-map.csvaparece en la salida, se encuentra en el directorio correcto. -
Si
path-map.csvno aparece en la lista, navegue a la carpeta ingresando el siguiente comando (reemplazando la ruta con la ruta real del directorio):-
cd "C:\full\path\to\your-extracted-folder"
-
Ejecución del script de PowerShell
-
Copie el bloque de script a continuación:
-
# Ejecutar desde el interior de la carpeta extraída (la que contiene path-map.csv)
$map = Import-CSV ".\path-map.csv"
# Cambie el nombre de las carpetas primero (primero las coincidencias más profundas para que los cambios de nombre principales no rompan las rutas secundarias)
$map | donde-objeto { $_. Escriba -eq 'carpeta' } | ForEach-Objeto {
$short = $_. ShortenedName; $orig = $_. Nombre original
Get-Childítem -Directorio -Recurse |
donde-objeto { $_. Nombre -eq $short } |
Sort-Object { $_. FullName.Length } -Descendente |
ForEach-Object { Rename-ítem -LiteralPath $_. FullName -NewName $orig }
}
# Luego cambie el nombre de los archivos
$map | donde-objeto { $_. Escriba -eq 'archivo' } | ForEach-Objeto {
$short = $_. ShortenedName; $orig = $_. Nombre original
Get-Childítem -Archivo -Recursión |
donde-objeto { $_. Nombre -eq $short } |
ForEach-Object { Rename-ítem -LiteralPath $_. FullName -NewName $orig }
}
-
-
Pegue el código en la ventana activa de PowerShell y presione Entrar.
-
Una vez finalizada la ejecución, todas las carpetas y archivos dentro de la carpeta de archivo extraída mostrarán sus nombres completos.

