Como Remover o Caminho e a Extensão do Nome do Arquivo no PowerShell

  1. Use a propriedade BaseName para remover o caminho e a extensão do nome do arquivo no PowerShell
  2. Use a Classe System.IO.Path para remover o caminho e a extensão do nome do arquivo no PowerShell
  3. Conclusão
Como Remover o Caminho e a Extensão do Nome do Arquivo no PowerShell

O PowerShell suporta a manipulação de várias operações de arquivos no sistema. Você pode realizar tarefas como criar, copiar, mover, renomear, editar, excluir e visualizar arquivos no PowerShell.

Existem diferentes cmdlets no PowerShell que você pode usar para obter o nome caminho completo e extensão de um arquivo. Ao trabalhar com arquivos no sistema, você pode precisar obter o nome do arquivo sem um caminho e extensão.

Este tutorial ensinará você a remover o caminho e a extensão do nome do arquivo no PowerShell.

Use a propriedade BaseName para remover o caminho e a extensão do nome do arquivo no PowerShell

O cmdlet Get-Item no PowerShell é uma ferramenta versátil usada para recuperar as propriedades de itens em seu sistema de arquivos, como arquivos e diretórios. Uma dessas propriedades é .BaseName, que é particularmente útil para o nosso propósito.

Exemplo:

(Get-Item "sample.txt").BaseName

Neste exemplo, o script assume que sample.txt é um arquivo no diretório atual. Se o arquivo estiver em um diretório diferente, você incluiria o caminho completo, como C:\folder\sample.txt.

Quando executamos (Get-Item "sample.txt").BaseName, o PowerShell realiza duas ações principais.

Primeiro, Get-Item "sample.txt" recupera o objeto de arquivo correspondente a sample.txt. Em seguida, .BaseName acessa a propriedade deste objeto de arquivo que contém o nome do arquivo sem a extensão.

Saída:

remover caminho e extensão do nome do arquivo no powershell - saída 1

Se você quiser remover o caminho e a extensão de vários arquivos, pode usar o cmdlet Get-ChildItem. O seguinte comando mostra como obter vários nomes de arquivos sem um caminho e extensão no PowerShell.

Exemplo

(Get-ChildItem "*.txt").BaseName

Esta linha de código listará os nomes base (nomes de arquivos sem extensões) de todos os arquivos .txt no diretório especificado.

  • Get-ChildItem "*.txt": Este comando busca todos os arquivos .txt do diretório especificado.

  • .BaseName: Esta propriedade é acessada para cada objeto de arquivo retornado pelo Get-ChildItem, extraindo apenas o nome do arquivo sem sua extensão.

Saída:

remover caminho e extensão do nome do arquivo no powershell - saída 2

Você também pode usar a classe System.IO.FileInfo com a propriedade basename para obter o nome do arquivo sem a extensão.

System.IO.FileInfo é uma classe do .NET que fornece propriedades e métodos de instância para a criação, cópia, exclusão, movimentação e abertura de arquivos. Ela também fornece informações detalhadas sobre um arquivo, como seu nome, caminho, tamanho, etc.

Exemplo:

([System.IO.FileInfo]"sample.txt").BaseName

Esta linha assume que sample.txt é um arquivo no diretório atual. Se o arquivo estiver em outro lugar, o caminho completo deve ser especificado, como C:\path\to\sample.txt.

Neste exemplo, ([System.IO.FileInfo]"sample.txt") cria um objeto FileInfo para o arquivo sample.txt. Este objeto contém informações detalhadas sobre o arquivo.

Ao acessar a propriedade .BaseName deste objeto, obtemos o nome do arquivo sem sua extensão.

Saída:

remover caminho e extensão do nome do arquivo no powershell - saída 3

Use a Classe System.IO.Path para remover o caminho e a extensão do nome do arquivo no PowerShell

A classe System.IO.Path fornece inúmeros métodos para manipulação de strings de caminhos de arquivos. O método GetFileNameWithoutExtension, em particular, é utilizado para obter o nome do arquivo a partir de uma string de caminho completo sem a extensão.

Exemplo:

[System.IO.Path]::GetFileNameWithoutExtension("sample.txt")

Este exemplo assume que sample.txt se refere a um nome de arquivo sem qualquer caminho de diretório. Se o arquivo estiver localizado em um diretório diferente, você incluiria o caminho completo, como "C:\folder\sample.txt".

[System.IO.Path]::GetFileNameWithoutExtension("sample.txt"), o PowerShell utiliza o método GetFileNameWithoutExtension da classe System.IO.Path para processar a string "sample.txt". Este método analisa inteligentemente a string, identifica a extensão do arquivo e a remove, retornando apenas o nome base do arquivo.

Este método é altamente eficiente e não requer que o arquivo real exista, já que opera puramente em nível de string.

Saída:

remover caminho e extensão do nome do arquivo no powershell - saída 4

Conclusão

Em conclusão, dominar a manipulação de arquivos no PowerShell é essencial para uma administração de sistema eficiente, e este artigo focou na remoção do caminho e da extensão dos nomes de arquivos utilizando métodos diversos. Começando com a abordagem simples (Get-Item "sample.txt").BaseName para arquivos individuais, progredimos para o manuseio de múltiplos arquivos com (Get-ChildItem "C:\Users\rhntm\*.txt").BaseName, uma abordagem valiosa para operações em massa.

A classe mais orientada a objetos [System.IO.FileInfo] com ([System.IO.FileInfo]"sample.txt").BaseName forneceu informações detalhadas sobre o arquivo, enquanto o domínio da manipulação de strings de [System.IO.Path]::GetFileNameWithoutExtension("sample.txt") destacou o poder das classes do .NET. Esses métodos exemplificam a versatilidade do PowerShell e, para aqueles que buscam aprofundar seu conhecimento, explorar tópicos relacionados, como trabalhar com caminhos completos de arquivos e extrair extensões de arquivos, é uma progressão lógica, desbloqueando o pleno potencial do PowerShell para tarefas abrangentes de scripting e automação do sistema.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Artigo relacionado - PowerShell File