заменить цифры - PowerShell - PullRequest
0 голосов
/ 02 мая 2018

Попытка создать скрипт, который организует каждое имя файла в: переменные года, месяца и дня.

Чтобы сделать это в PowerShell с моей текущей версией, мне нужно использовать -replace, однако он будет удалять только цифры справа налево.

Как заменить первые 4 цифры, которые в этом случае будут выглядеть примерно так: 20181015

$Month = $FileNameArray -replace "^2018"
$Month = $FileNameArray -replace "..$"

Выход:

201801...201802...201803...201804...201805...201806...201807...201808...201809...2018010...2018011...2018012...

... представляет повторяющиеся экземпляры одного и того же номера.

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Я думаю, что могу запутаться. Я думал, что вашей целью было создать путь на основе даты. Учитывая дату 20180101, вы можете создать путь следующим образом:

$date = [datetime]::parseexact("20180101", "yyyyMMdd", [System.Globalization.CultureInfo]::InvariantCulture)
$path = '{0}\{1:D2}\{2:D2}' -f $date.Year, $date.Month, $date.Day

Нет необходимости делать какие-либо замены.

0 голосов
/ 02 мая 2018


Вы потеряли один параметр.
Для оператора -replace есть 2 параметра, первый - источник, а второй - цель, разделенные запятой.

"20181015" -replace "^2018","9999"

Будет выведено 99991015, источник поддерживает регулярное выражение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...