Вывод файлов в 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 ответов
передайте имя файла в 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