Saltar al contenido principal
Procore

Restaurar nombres completos de carpetas y archivos de archivos del proyecto en Windows

Contexto

Al utilizar la herramienta Archivo del proyecto para extraer archivos del proyecto, 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 dañados 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 los nombres completos de carpetas y archivos después de la extracción, Procore incluye un archivo de asignación de rutas CSV (path-map.csv) dentro de la carpeta del archivo extraído. Este archivo enumera cada nombre truncado junto con su nombre completo correspondiente. Puede usar el archivo CSV junto con un script estándar de PowerShell para restaurar rápidamente todos los nombres completos de los elemento.

Temas a considerar

  • Información adicional:

    • No ejecute el script de PowerShell en un archivo .zip sin extraer. archivo de almacenamiento.

    • Cierre todos los archivos o documentos abiertos ubicados dentro de la carpeta de archivo extraído antes de ejecutar el script de PowerShell para evitar errores de bloqueo de archivos.

    • Es seguro ejecutar el script de PowerShell varias veces si ciertos nombres de carpetas o archivos ya se han restaurado parcialmente.

Abrir la carpeta del archivo extraído

  1. Descomprima el archivo zip descargado archivo de almacenamiento.

  2. Abra la carpeta de archivo descomprimida en el Explorador de archivos.

  3. Verifique que el archivo path-map.csv esté presente en la carpeta de archivo.
    Nota: Este archivo CSV contiene tres columnas: Type, ShortenedName y OriginalName.

Abrir PowerShell en la carpeta del archivo extraído

 Importante
Debe abrir PowerShell dentro de la ruta de la carpeta del archivo extraído. Si se abre desde otra ubicación, la secuencia de comandos de PowerShell no localizará path-map.csv ni sus archivos.

Elija uno de los siguientes métodos:

Opción A: barra de direcciones (recomendada)

  1. En su sistema Windows, abra el Explorador de archivos.

  2. En el Explorador de archivos, vaya a la carpeta del archivo extraído para que el archivo path-map.csv sea visible.

  3. Haga clic en un área vacía de la "Barra de direcciones" en la parte superior de la ventana (donde aparece la ruta del archivo).

  4. Escriba powershell y pulse Intro.
    Se abre la ventana de Windows PowerShell, dirigida a la ruta de la carpeta del archivo extraído.

Opción B: menú contextual

  1. En su sistema Windows, abra el Explorador de archivos.

  2. Abra la carpeta extraída en el Explorador de archivos.

  3. Mantenga pulsada la tecla Mayús y, a continuación, haga clic con el botón derecho en un área vacía dentro de la ventana de la carpeta.

  4. Seleccione Abrir ventana de PowerShell aquí (en Windows 11, seleccione Abrir en terminal).

Verificar su Directorio

En la ventana de PowerShell, escriba dir y pulse Intro.

  • Si path-map.csv aparece en el resultado, se encuentra en el directorio correcto.

  • Si path-map.csv no aparece en la lista, vaya a la carpeta introduciendo el siguiente comando (reemplazando la ruta por la ruta del directorio real):

    • cd "C:\ruta\completa\a\la-carpeta-de-extracción"

Ejecutar el script de PowerShell

  1. Copie el bloque de script a continuación:

    • # Ejecutar desde dentro de la carpeta extraída (la que contiene path-map.csv)
      $mapa = Import-Csv ".\path-map.csv"

      # Renombrar primero las carpetas (las coincidencias más profundas primero para que los renombrados principal no interrumpan las rutas secundarias)
      $mapa | Where-Object { $_.Type -eq 'Folder' } | Para cada objeto {
      $corto = $_.NombreCorto; $orig = $_.NombreOriginal
      Get-Child-elemento - Directorio -Recurse |
      Where-Object { $_.Name -eq $short } |
      Ordenar-Objeto { $_.FullName.Length } -Descendente |
      ForEach-Object { Rename-elemento -LiteralPath $_.FullName -NewName $orig }
      }

      # Luego renombrar archivos
      $mapa | Where-Object { $_.Type -eq 'File' } | Para cada objeto {
      $corto = $_.NombreCorto; $orig = $_.NombreOriginal
      Get-Child-elemento-File-Recurse |
      Where-Object { $_.Name -eq $short } |
      ForEach-Object { Rename-elemento -LiteralPath $_.FullName -NewName $orig }
      }

  2. Pegue el código en la ventana activa de PowerShell y pulse Intro.

  3. Una vez que finaliza la ejecución, todas las carpetas y archivos dentro de la carpeta de archivo extraído mostrarán sus nombres completos.