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

时间:2013-06-05 12:45:56

标签: powershell foreach

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

$date = Get-Date -Format G | foreach {$_ -replace ":", "."}

目前,它取代了datetime中的所有:,但是留下了/。如何使用-replace替换多个东西?

1 个答案:

答案 0 :(得分:7)

将要替换的所有字符放入字符组

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