Вывод файлов в Powershell без расширения

вот что у меня пока есть:

Get-ChildItem "C:Folder" | Foreach-Object {$_.Name} > C:FolderFile.txt

когда вы открываете вывод сверху, файл.txt, вы видите это:

file1.txt
file2.mpg
file3.avi
file4.txt

как получить вывод, чтобы он отбрасывал расширение и показывал только это:

file1
file2
file3
file4

спасибо заранее!

редактировать

понял это с помощью парней ниже меня. Я закончил использовать:

Get-ChildItem "C:Folder" | Foreach-Object {$_.BaseName} > C:FolderFile.txt

4 ответов


Get-ChildItem "C:\Folder" | Select BaseName > C:\Folder\File.txt

передайте имя файла в GetFileNameWithoutExtension метод удалить расширение:

Get-ChildItem "C:\Folder" | `
    ForEach-Object { [System.IO.Path]::GetFileNameWithoutExtension($_.Name) } `
    > C:\Folder\File.txt

а теперь для версии FileInfo, так как все остальные избили меня до Пути.GetFileNameWithoutExtension решение.

Get-ChildItem "C:\" | `
where { ! $_.PSIsContainer } | `
Foreach-Object {([System.IO.FileInfo]($_.Name)).Name.Split('.')[0]}

используйте свойство BaseName вместо свойства Name:

Get-ChildItem "C:\Folder" | Select-Object BaseName > C:\Folder\File.txt