Альтернатива методу Get-Random в Powershell? - PullRequest
0 голосов
/ 08 мая 2018

Есть текстовый файл, который содержит много полей. Моя цель - обновлять поле 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 голосов
/ 08 мая 2018

Для теста, если я уберу дату, например, 05/08/18, вы можете использовать простое регулярное выражение с Get-Random, например:

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

Test922
748
Type603

Чтобы улучшить это, вам нужно идентифицировать символы, которые вы хотите заменить, и исключить те, которые вы не заменяете, \d+ заменит любое число, если вы добавите дату, оно также изменит его, так что вы нужно найти правильный шаблон регулярных выражений, чтобы правильно использовать замену,

...