Powershell 更改扩展

Seb*_*osz 6 powershell split replace

我在更改文件扩展名时遇到问题。我需要编写一个复制数据的脚本,但数据有两个文件。文件名不是字符串,所以我们不能使用普通的-replace

我需要从

filename.number.extension
Run Code Online (Sandbox Code Playgroud)

这个表格

filename.number.otherextension
Run Code Online (Sandbox Code Playgroud)

我们尝试使用拆分,但此命令向我们显示如下所示的内容

filename
number
otherextension
Run Code Online (Sandbox Code Playgroud)

感谢您的任何想法,

小智 11

[System.IO.Path]::ChangeExtension("test.old",".new")
Run Code Online (Sandbox Code Playgroud)


vee*_*efu 3

您可能想要类似-replace运算符的东西:

'filename.number.extension' -replace 'extension$','otherextension'
Run Code Online (Sandbox Code Playgroud)
  • $正则表达式语法,意思是行尾。这应该确保-replace与文件名中其他地方出现的“扩展名”不匹配。