最大分割文件名(修改日期)

时间:2018-06-28 14:47:31

标签: powershell powershell-v6.0

我需要从特定年份中排除基于年份,国家名称和上次修改日期的文件,并从该特定年份中删除其余文件,并将该国家/地区移至存档文件夹

例如

SS_MM_Master_finland_2018.xlsx last modified date 27/06/2018 19:00.

SS_MM_Master_finland_2017.xlsx last modified date 27/06/2017 19:00.

在这种情况下,文件名和国家/地区不同,因此排除了特定的上次修改日期,因此两个文件均被排除

想根据某人的经验知道某人是否可以举一个小例子...不一定是上述例子中的例子,也不必是任何多重排除规则,否则将不胜感激

我尝试过

$Files = Get-ChildItem -File C:\Setup | select Name, LastWriteTime
foreach($FileName in $Files)
{
    ##### - Split elements: 0 = SS, 1 = MM, 2 = Master, 3 = Country, 4 = Year
    $MyFile = $FileName # Get FileName
    $fileCountry = $FileName.Name[0].Split('_')[3] # Get Country
    $fileYear = $FileName.Name[0].Split('_')[4] # Get Year
}

如何根据国家和年份获取最大值(最后修改日期)

我今天尝试了以下提到的查询,并获取了所有值year,country,但是如何获取max(该特定年份和国家/地区的最后修改日期

$Files = Get-ChildItem -File C:\Users\rramesnc\Documents\Advisory_Rate | select Name, LastWriteTime
foreach($FileName in $Files)
{

####- Split elements: 0 = SS, 1 = MM, 2 = Master, 3 = Country, 4 = Year
#### - Get FileName:
$MyFile = $FileName

#### - Get Country:

$FileName -split "-"

#### - Get Year

$fileYear = $FileName.Name.Split("_")[4,3]

$fileCountry.Name

#### - Sample getting the year value from the ".LastWriteTime":

$FileName

$fileYear

$FileName.LastWriteTime

0 个答案:

没有答案