Powershell 替换单个变量中的多个字符

Powershell 替换单个变量中的多个字符,powershell,foreach,Powershell,Foreach,我正在定义一个日期变量,但我需要能够用作文件名的日期。因此,我需要替换Get Date抓取的一些特殊字符,并将它们替换为下划线和句点 $date=Get date-Format G | foreach{$\u-replace:“,”} 目前,它将替换datetime中的所有:,但保留/。如何使用-replace替换多个内容?将所有要替换的字符放在一个字符组中 PS> Get-Date -Format G | foreach {$_ -replace "[:\./]", "_"} 6_5_2

我正在定义一个日期变量,但我需要能够用作文件名的日期。因此,我需要替换Get Date抓取的一些特殊字符,并将它们替换为下划线和句点

$date=Get date-Format G | foreach{$\u-replace:“,”}


目前,它将替换datetime中的所有:,但保留/。如何使用-replace替换多个内容?

将所有要替换的字符放在一个字符组中

PS> Get-Date -Format G | foreach {$_ -replace "[:\./]", "_"}
6_5_2013 3_50_44 PM
更简单的方法是使用-Format运算符:

PS> Get-Date -Format 'MM_dd_yyyy HH_mm_ss tt'
06_05_2013 15_52_09 PM