Dot-Net

powershell - 提取文件名和副檔名

  • March 20, 2012

我需要從例如 my.file.xlsx 中提取文件名和副檔名。我不知道文件或副檔名的名稱,並且名稱中可能有更多點,所以我需要從右側搜尋字元串,當我找到第一個點(或左側最後一個點)時,提取部分右側和該點左側的部分。

也許有更好的解決方案,但我在這里或其他任何地方都沒有找到任何東西。謝謝

如果文件從磁碟上脫落並且正如其他人所說,請使用BaseNameandExtension屬性:

PS C:\> dir *.xlsx | select BaseName,Extension

BaseName                                Extension
--------                                ---------
StackOverflow.com Test Config           .xlsx  

如果您將文件名作為字元串的一部分給出(比如來自文本文件),我將使用System.IO.Path類中的GetFileNameWithoutExtensionGetExtension靜態方法:

PS C:\> [System.IO.Path]::GetFileNameWithoutExtension("Test Config.xlsx")
Test Config
PS H:\> [System.IO.Path]::GetExtension("Test Config.xlsx")
.xlsx

引用自:https://stackoverflow.com/questions/9788492