Сравните два файла на основе дат в именах файлов - PullRequest
0 голосов
/ 07 февраля 2019

Ниже приведены два имени файла:

$f1 = "abc_2019_01_30_5816789.bak","xyz_2019_01_26_4690992.bak"
$f2 = "abc_2019_01_31_3142809.bak","xyz_2019_01_27_8319704.bak"

Я хочу сравнить на основе дат в именах файлов.Если файл начинается с того же имени, как «abc», а затем сравнивается с датой в нем.

Я попробовал ниже:

if ($f1 -lt $f2) {Write-Host "true"}

1 Ответ

0 голосов
/ 07 февраля 2019

Попробуйте и измените в соответствии с вашими требованиями:

$f1 = "abc_2019_01_30_5816789.bak"
$f2 = "abc_2019_01_31_3142809.bak"

$regex = '\d{4}_\d{2}_\d{2}'

[String]$f1date = [regex]::match($f1,'\d{4}_\d{2}_\d{2}').Value
$f1date = $f1date.Replace('_','-')
[datetime]$f1date = $f1date

[String]$f2date = [regex]::match($f2,'\d{4}_\d{2}_\d{2}').Value
$f2date = $f2date.Replace('_','-')
[datetime]$f2date = $f2date

if($f1date -lt $f2date) {Write-Host "true"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...