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

796 查看

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

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

function Get-LegalPathName($Path)
{
 $illegalChars = [System.IO.Path]::GetInvalidFileNameChars()
 
 foreach($illegalChar in $illegalChars)
 { $Path = $Path.Replace($illegalChar, '_') }
 
 $Path
}

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

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

支持所有PS版本