Como truncar recursivamente nomes de arquivos e nomes de diretório no PowerShell?

0

Ao tentar copiar arquivos em uma unidade de rede, recebo o erro de que a operação de cópia falha e gera uma mensagem informando que o caminho (nome do arquivo) é muito longo. A mensagem também sugere que eu reduza o nome do arquivo e tente copiar novamente. O problema é que tenho centenas de arquivos e pastas com nomes muito longos e preciso de um script para cortar os comprimentos de todos esses aproximadamente 100 caracteres (eles têm espaços nos nomes e parênteses). Eu só quero reduzir tudo o que tiver mais de 100 caracteres para 100 caracteres. Eu preciso garantir que as extensões de arquivo também não sejam removidas ou alteradas. Eu não sou muito forte com o PowerShell, então toda a ajuda é apreciada.

vai
fonte
1
Isso pode ficar um pouco complicado, porque se você apenas truncar os nomes de arquivos, poderá acabar com duplicatas. Os nomes dos arquivos são o problema ou o caminho inteiro é muito longo? Se você também possui nomes de diretório longos, por que não começar por aí?
Charles Burge
@Charles Burge Os nomes dos arquivos são únicos após os 15 primeiros caracteres; as pessoas no meu local de trabalho apenas gostam de ser excessivamente descritivas com seus títulos, então estou tentando encontrar a solução mais simples. Sei que muitas pastas têm nomes muito longos, mas alguns arquivos também. Por isso, estou tentando estar seguro com ambos. Eu ficaria bem se tivesse uma solução que restringisse os nomes de diretório separadamente dos nomes de arquivos.
vai
Você já tentou alguma coisa ou quer que apenas escrevamos um script para você?
Charles Burge 14/03
Para ser sincero, não tentei nada. Eu imaginei que isso envolveria expressões regulares e algum uso do GREP (ou o equivalente do Windows) e eu sou intimidado por eles. Portanto, se alguém já tem uma solução ou conhece uma solução simples, isso seria incrível. O Google não encontrou boas soluções para mim, mas talvez eu não esteja procurando a coisa certa.
vai
Observe que superuser.com não é um serviço gratuito de criação de scripts / códigos. Se você nos contar o que você tentou até o momento (inclua os scripts / códigos que você já está usando) e onde está preso, podemos tentar ajudar com problemas específicos. Você também deve ler Como faço uma boa pergunta? .
DavidPostill