Powershell小技巧之删除不规则字符

时间:2022-11-21 12:43:05

在路径中,其中有像引号冒号等不规则字符。如果你脚本中的活动路径是来自某段信息,你一定会需要返回符合规则的路径。

这里有段函数教你在任何路径中使用下划线去替换其中不规则部分:

?
1
2
3
4
5
6
7
8
9
function Get-LegalPathName($Path)
{
 $illegalChars = [System.IO.Path]::GetInvalidFileNameChars()
 
 foreach($illegalChar in $illegalChars)
 { $Path = $Path.Replace($illegalChar, '_') }
 
 $Path
}

同时来测试一下它的效果:

?
1
2
PS> Get-LegalPathName 'some:"illegal"\path<chars>.txt'
some__illegal__path_chars_.txt

支持所有PS版本