Мне удалось найти способ использования метода GetInvalidFileNameChars()
в PowerShell script. Однако, похоже, он также отфильтровывает пробелы (чего я не хочу).
EDIT: Возможно, я не прошу об этом достаточно ясно. Я хочу, чтобы функция ниже включала пробелы, которые уже существуют в именах файлов. В настоящее время script отфильтровывает пробелы.
Function Remove-InvalidFileNameChars {
param([Parameter(Mandatory=$true,
Position=0,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true)]
[String]$Name
)
return [RegEx]::Replace($Name, "[{0}]" -f ([RegEx]::Escape([String][System.IO.Path]::GetInvalidFileNameChars())), '')}