Pular para o conteúdo principal
Procore

Restaurar nomes completos de pastas e arquivos para arquivos do projeto no Windows

Fundo

Ao usar a ferramenta Arquivo do projeto para extrair arquivos do projeto, você pode encontrar problemas com caminhos de arquivo longos e estruturas de subpastas aninhadas que podem exceder o limite de caminho padrão do Windows de 260 caracteres. Para evitar arquivos compactados quebrados e erros de extração, a ferramenta Arquivo do projeto trunca automaticamente os nomes de pastas e arquivos durante a extração.

Para ajudar você a restaurar a pasta completa e os nomes de arquivos após a extração, o Procore inclui um arquivo de mapeamento de caminho CSV (path-map.csv) dentro da pasta de arquivo extraído. Esse arquivo lista cada nome truncado ao lado de seu nome completo correspondente. Você pode usar o arquivo CSV junto com um script padrão do PowerShell para restaurar rapidamente todos os nomes completos de itens.

Coisas a considerar

  • Informações adicionais:

    • Não execute o script do PowerShell em um não extraído .zip arquivo morto.

    • Feche todos os arquivos ou documentos abertos localizados dentro da pasta de arquivo morto extraída antes de executar o script do PowerShell para evitar erros de bloqueio de arquivo.

    • Executar o script do PowerShell várias vezes é seguro se determinados nomes de pasta ou arquivo já tiverem sido parcialmente restaurados.

Abra a pasta de arquivo extraído

  1. Descompacte o download .zip arquivo morto.

  2. Abra a pasta de arquivo descompactada no Explorador de Arquivos.

  3. Verifique se o path-map.csv arquivo está presente na pasta de arquivo.
    Observação: Esse arquivo CSV contém três colunas: Type, ShortenedNamee OriginalName.

Abra o PowerShell na pasta Arquivo Morto Extraído

 Importante
Você deve abrir o PowerShell dentro do caminho da pasta de arquivo morto extraído. Se ele for aberto de outro local, o script do PowerShell não localizará path-map.csv ou seus arquivos.

Escolha um dos seguintes métodos:

Opção A: Barra de endereços (recomendado)

  1. No sistema Windows, abra o Explorador de Arquivos.

  2. No Explorador de Arquivos, navegue até a pasta de arquivo extraído para que o path-map.csv arquivo fique visível.

  3. Clique em uma área vazia na "Barra de endereços" na parte superior da janela (onde o caminho do arquivo está listado).

  4. Digite powershell e pressione Enter.
    A janela do Windows PowerShell é aberta, direcionando o caminho da pasta de arquivo morto extraído.

Opção B: Menu de contexto

  1. No sistema Windows, abra o Explorador de Arquivos.

  2. Abra a pasta extraída no Explorador de Arquivos.

  3. Mantenha pressionada a tecla Shift e clique com o botão direito do mouse em uma área vazia dentro da janela da pasta.

  4. Selecione Abrir janela do PowerShell aqui (no Windows 11, selecione Abrir no Terminal).

Verificar seu diretório

Na janela do PowerShell, digite dir e pressione Enter.

  • Se path-map.csv estiver listado na saída, você está no diretório correto.

  • Se path-map.csv não estiver listado, navegue até a pasta digitando o seguinte comando (substituindo o caminho pelo caminho do diretório real):

    • cd "C:\full\caminho\para\sua-pasta-extraída"

Executar o script do PowerShell

  1. Copie o bloco de script abaixo:

    • # Execute de dentro da pasta extraída (aquela que contém path-map.csv)
      $map = Importar-CSV ".\path-map.csv"

      # Renomeie pastas primeiro (as correspondências mais profundas primeiro para que as renomeações principais não interrompam os caminhos filho)
      $map | Onde-Objeto { $_. Digite -eq 'Pasta' } | ForEach-Object {
      $short = $_. Nome encurtado; $orig = $_. Nome Original:
      Get-ChildItem -Diretório -Recurse |
      Onde-Objeto { $_. Nome -eq $short } |
      Sort-Object { $_. FullName.Length } -Descendente |
      ForEach-Object { Rename-Item -LiteralPath $_. Nome Completo -NewName $orig }
      }

      # Em seguida, renomeie os arquivos
      $map | Onde-Objeto { $_. Digite -eq 'Arquivo' } | ForEach-Object {
      $short = $_. Nome encurtado; $orig = $_. Nome Original:
      Get-ChildItem -Arquivo -Recurse |
      Onde-Objeto { $_. Nome -eq $short } |
      ForEach-Object { Rename-Item -LiteralPath $_. Nome Completo -NewName $orig }
      }

  2. Cole o código na janela ativa do PowerShell e pressione Enter.

  3. Quando a execução terminar, todas as pastas e arquivos dentro da pasta de arquivo extraída exibirão seus nomes completos.