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 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 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
-
Décompressez votre téléchargé
fichier 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’archive.
Remarque : Ce fichier CSV contient trois colonnes :Type,ShortenedNameetOriginalName.
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 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 dans la « barre d’adresse » en haut de la fenêtre (où le chemin du fichier est répertorié).
-
Tapez
powershellet 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
-
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 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érifiez votre Répertoire
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 de votre répertoire réel) :-
cd « C :\full\chemin\vers\votre-dossier-extrait »
-
Exécuter le script PowerShell
-
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 }
}
-
-
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 leur nom complet.

