我有一个变量,带有以下字符串值:
PS C:\> $sql.physicalname
I:\Data\Data1.mdf
I:\Data\Data2.ndf
I:\Data\Data3.ndf
I:\Data\Data4.ndf
I:\Data\Data5.ndf
I:\Data\Data6.ndf
I:\Data\Data7.ndf
I:\Data\Data8.ndf
I:\Data\Data9.ndf
I:\Data\log.ldf
我想要的是替换/修剪字符串,以便只保留.mdf / .ndf / .ldf扩展名:
.mdf
.ndf
.ndf
.ndf
.ndf
.ndf
.ndf
.ndf
.ndf
.ldf
我尝试将-replace
参数与*
通配符一起使用,但我无法绕过它。
答案 0 :(得分:3)
因为它是传递给-replace
的正则表达式,所以请尝试例如与
-replace ".*\.", "."
更好,更强大的方法是使用类似的东西
$sql.physicalname | % { [System.IO.Path]::GetExtension($_) }
答案 1 :(得分:1)
您可以使用:[System.IO.Path]::GetExtension()