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 standard de Windows de 260 caractères. Pour éviter les fichiers d’archive cassés et les erreurs d’extraction, l’outil Archive du projet tronque automatiquement les noms de dossier et de fichier lors de l’extraction.

Pour vous aider à restaurer les noms complets des dossiers et des fichiers après l’extraction, Procore inclut un fichier de mappage de chemin CSV (path-map.csv) dans le dossier d’archives 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’items complets.

Éléments à considérer

  • Information supplémentaire :

    • 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 fichiers.

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

Conditions préalables

Ouvrez le dossier d’archives extraites

  1. Décompressez votre téléchargé fichier 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’archive.
    Remarque : Ce fichier CSV contient trois colonnes : Type, ShortenedNameet OriginalName.

Ouvrez PowerShell dans le dossier d’archive extraite

 Important
Vous devez ouvrir PowerShell dans le chemin du 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 dans la « barre d’adresse » en haut de la fenêtre (où le chemin du fichier est répertorié).

  4. Tapez powershell et appuyez sur Entrée.
    La fenêtre Windows PowerShell s’ouvre et cible le chemin de 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 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érifiez votre Répertoire

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 de votre répertoire réel) :

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

Exécuter le script PowerShell

  1. Copiez le bloc de script ci-dessous :

    • # Exécuter à partir de l’intérieur du dossier extrait (celui contenant path-map.csv)
      $map = import-csv « .\path-map.csv »

      # Renommer d’abord les dossiers (le plus profond correspond d’abord afin que les renommages principal ne brisent pas les chemins enfants)
      $map | Où-Objet { $_. Tapez -eq 'Dossier' } | ForEach-Object {
      $short = $_. ShortenedName; $orig = $_. Nom d’origine
      Get-ChildItem -Répertoire -Récursif |
      Où-Objet { $_. Nom -eq $short } |
      Objet de tri { $_. FullName.Length } -Décroissant |
      ForEach-Object { Renommer-Item-LiteralPath $_. Nom complet -NouveauNom $orig }
      }

      # Renommer ensuite les fichiers
      $map | Où-Objet { $_. Tapez -eq 'Fichier' } | ForEach-Object {
      $short = $_. ShortenedName; $orig = $_. Nom d’origine
      Get-ChildItem -Fichier -Récursif |
      Où-Objet { $_. Nom -eq $short } |
      ForEach-Object { Renommer-Item-LiteralPath $_. Nom complet -NouveauNom $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 leur nom complet.