PowerShell 技能连载 - 移除非法的路径字符
适用于 PowerShell 所有版本
在路径名中,有些字符,例如冒号和双引号,都是非法的。如果您的脚本中的路径名称来自于外部信息,那么您可能希望最终的路径名是合法的。
以下是一个将路径中所有非法字符替换成下划线的函数:
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
PowerShell 技能连载 - 移除非法的路径字符
http://blog.vichamp.com/2014/09/12/removing-illegal-pathcharacters/