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 zipfichier 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
-
Décompressez votre fichier téléchargé
.zipfichier d’archive. -
Ouvrez le dossier d’archive décompressé dans l’Explorateur de fichiers.
-
Vérifiez que le
path-map.csvfichier est présent dans le dossier d’archivage.
Remarque : Ce fichier CSV contient trois colonnes :Type,ShortenedName, etOriginalName.
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 localiserapath-map.csv pas vos fichiers.Choisissez l’une des méthodes suivantes :
Option A : barre d’adresse (recommandée)
-
Dans votre système Windows, ouvrez l’Explorateur de fichiers.
-
Dans l’Explorateur de fichiers, accédez au dossier d’archive extrait afin que le
path-map.csvfichier soit visible. -
Cliquez sur une superficie vide de la « Barre d’adresse » en haut de la fenêtre (où le chemin du fichier est répertorié).
-
Saisissez
powershellet 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
-
Dans votre système Windows, ouvrez l’Explorateur de fichiers.
-
Ouvrez le dossier extrait dans l’Explorateur de fichiers.
-
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.
-
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.csvest répertorié dans la sortie, vous êtes dans le bon répertoire. -
Si
path-map.csvn’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
-
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 }
}
-
-
Collez le code dans votre fenêtre PowerShell active et appuyez sur Entrée.
-
Une fois l’exécution terminée, tous les dossiers et fichiers du dossier d’archive extrait afficheront leurs noms complets.

