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 complémentaires :

    • N’exécutez pas le script PowerShell sur un fichier zip non extrait 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

Escalier

Ouvrir le dossier d’archive extrait

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

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

  3. Vérifiez que le fichier path-map.csv 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

À noter

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 pas path-map.csv ni 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 fichier path-map.csv 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. Tapez 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 :

    • # Run from inside the extracted folder (the one containing path-map.csv)
      $map = Import-Csv ".\path-map.csv"

      # Rename folders first (deepest matches first so parent renames don't break child paths)
      $map | Where-Object { $_.Type -eq 'Folder' } | ForEach-Object {
      $short = $_.ShortenedName; $orig = $_.OriginalName
      Get-ChildItem -Directory -Recurse |
      Where-Object { $_.Name -eq $short } |
      Sort-Object { $_.FullName.Length } -Descending |
      ForEach-Object { Rename-Item -LiteralPath $_.FullName -NewName $orig }
      }

      # Then rename files
      $map | Where-Object { $_.Type -eq 'File' } | ForEach-Object {
      $short = $_.ShortenedName; $orig = $_.OriginalName
      Get-ChildItem -File -Recurse |
      Where-Object { $_.Name -eq $short } |
      ForEach-Object { Rename-Item -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.

Voir aussi

Chargement des articles connexes...