Passer au contenu principal
Procore

Restaurer les noms complets de dossiers et de fichiers pour les archives de projet sous Windows

Contexte

Lorsque vous utilisez l’outil Archive de projet pour extraire des archives de projet, vous pouvez rencontrer des problèmes avec les longs chemins de fichiers et les structures de sous-dossiers imbriquées qui peuvent dépasser la limite de chemin d’accès Windows standard de 260 caractères. Pour éviter les fichiers d’archive endommagés et les erreurs d’extraction, l’outil Archive du projet tronque automatiquement les noms de dossiers et de fichiers lors de l’extraction.

Pour vous aider à restaurer les noms complets des dossiers et des fichiers après l’extraction, Procore inclut un fichier CSV de mappage de chemin (path-map.csv) dans le dossier d’archive extrait. Ce fichier répertorie chaque nom tronqué avec son nom complet correspondant. Vous pouvez utiliser le fichier CSV avec un script PowerShell standard pour restaurer rapidement tous les noms d’éléments complets.

Éléments à prendre en compte

  • Informations supplémentaires :

    • N’exécutez pas le script PowerShell sur un fichier non extrait fichier zip fichier d’archive.

    • Fermez tous les fichiers ou documents ouverts situés dans le dossier d’archive extrait avant d’exécuter le script PowerShell pour éviter les erreurs de verrouillage de fichier.

    • L’exécution du script PowerShell plusieurs fois est sécurisée si certains noms de dossier ou de fichier ont déjà été partiellement restaurés.

Conditions préalables

Ouvrir le dossier d’archive extrait

  1. Décompressez votre fichier téléchargé .zip fichier d’archive.

  2. Ouvrez le dossier d’archive décompressé dans l’Explorateur de fichiers.

  3. Vérifiez que le path-map.csv fichier est présent dans le dossier d’archivage.
    Remarque : Ce fichier CSV contient trois colonnes : Type, ShortenedName, et OriginalName.

Ouvrir PowerShell dans le dossier d’archive extrait

 Important
Vous devez ouvrir PowerShell dans le chemin d’accès au dossier d’archive extrait. S’il est ouvert à partir d’un autre lieu, le script PowerShell ne localisera path-map.csv pas vos fichiers.

Choisissez l’une des méthodes suivantes :

Option A : barre d’adresse (recommandée)

  1. Dans votre système Windows, ouvrez l’Explorateur de fichiers.

  2. Dans l’Explorateur de fichiers, accédez au dossier d’archive extrait afin que le path-map.csv fichier soit visible.

  3. Cliquez sur une superficie vide de la « Barre d’adresse » en haut de la fenêtre (où le chemin du fichier est répertorié).

  4. Saisissez powershell et appuyez sur Entrée.
    La fenêtre Windows PowerShell s’ouvre, ciblant le chemin d’accès à votre dossier d’archive extrait.

Option B : menu contextuel

  1. Dans votre système Windows, ouvrez l’Explorateur de fichiers.

  2. Ouvrez le dossier extrait dans l’Explorateur de fichiers.

  3. Appuyez sur la touche Maj et maintenez-la enfoncée, puis cliquez avec le bouton droit de la souris sur une superficie vide à l’intérieur de la fenêtre du dossier.

  4. Sélectionnez Ouvrir la fenêtre PowerShell ici (sur Windows 11, sélectionnez Ouvrir dans le terminal).

Vérifier votre annuaire

Dans la fenêtre PowerShell, tapez dir et appuyez sur Entrée.

  • Si path-map.csv est répertorié dans la sortie, vous êtes dans le bon répertoire.

  • Si path-map.csv n’est pas répertorié, accédez au dossier en entrant la commande suivante (en remplaçant le chemin par le chemin d’accès réel du répertoire) :

    • cd « C :\complet\chemin\vers\votre-dossier-extrait »

Exécuter le script PowerShell

  1. Copiez le bloc de script ci-dessous :

    • # Exécuter à partir du dossier extrait (celui contenant path-map.csv)
      $map = import-csv « .\path-map.csv"

      # Renommer les dossiers en premier (les correspondances les plus profondes en premier pour que parent renommages ne cassent pas les chemins d’accès enfants)
      $map | Où-objet { $_. Tapez -eq 'Dossier' } | ForEach-Object {
      $short = $_. ShortenedName ; $orig = $_. OriginalName
      get-childélément -Annuaire -recurse |
      où-objet { $_. name -eq $short } |
      objet-tri { $_. FullName.Length } -descending |
      forEach-Object { rename-élément -literalPath $_. FullName -NewName $orig }
      }

      # Puis renommer files
      $map | Où-objet { $_. Tapez -eq 'Fichier' } | ForEach-Object {
      $short = $_. ShortenedName ; $orig = $_. OriginalName
      get-childélément -file -recurse |
      où-objet { $_. name -eq $short } |
      forEach-Object { rename-élément -literalPath $_. FullName -NewName $orig }
      }

  2. Collez le code dans votre fenêtre PowerShell active et appuyez sur Entrée.

  3. Une fois l’exécution terminée, tous les dossiers et fichiers du dossier d’archive extrait afficheront leurs noms complets.