Como Remover o Caminho e a Extensão do Nome do Arquivo no PowerShell
- 
          
            Use a propriedade 
BaseNamepara remover o caminho e a extensão do nome do arquivo no PowerShell - 
          
            Use a Classe 
System.IO.Pathpara 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.txtdo 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
 
