Powershell中Get-Random方法的替代方案?

时间:2018-05-08 10:57:39

标签: powershell random methods powershell-v2.0 powershell-v3.0

有一个包含许多字段的文本文件。我的目的是每次运行脚本时使用新的随机数更新int字段,然后保存文本文件。这样,当我再次打开脚本时,数字应始终与上次运行不同。

例如:我想更新计数字段“152”以说“455”,然后运行我的脚本,保存文件。接下来,时间我希望它改为“788”,对于前等等......

"Test1", "05/08/18", "152", "Type1"

$Count = Get-Random -Maximum 999

然而,我注意到一个奇怪的事情,当我在我的脚本中使用Get-Random方法时,它会在我的文本文件中的其他字段(记录)中添加额外的虚拟数字。

我的记录看起来像这样:

 "Tes1523t1", "05/08/18", "152", "Type3241"

现在,有没有其他方法可以使用Random方法每次更改一个数字?

1 个答案:

答案 0 :(得分:0)

对于测试,如果我删除日期,例如05/08/18,您可以使用简单的正则表达式Get-Random,如下所示:

@("Test1", "152", "Type1") | % {
    $_ -replace "\d+",(Get-Random -Minimum 1 -Maximum 999)
}

Test922
748
Type603

要改善这一点,您需要确定要替换的字符并排除不存在的字符,\d+将替换任何数字,如果您要添加它也会更改它的日期,所以你需要找到正确的正则表达式模式才能正确使用替换,