Como 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 -
Use a Classe
System.IO.Path
para remover o caminho e a extensão do nome do arquivo no PowerShell - Conclusão

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:
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 peloGet-ChildItem
, extraindo apenas o nome do arquivo sem sua extensão.
Saída:
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:
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:
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.
Artigo relacionado - PowerShell File
- Como Armazenar o Conteúdo de um Arquivo de Texto em Variável Usando PowerShell
- Como criar um arquivo de texto usando o Windows PowerShell
- Como Desbloquear Arquivos Usando PowerShell
- Como encontrar arquivos com extensão no PowerShell
- Como extrair o nome do arquivo de um caminho usando PowerShell
- Como Fazer o Upload de Arquivos com FTP no PowerShell