小编Aar*_*sen的帖子

从文件名中解析出日期并按日期排序

我在一个文件夹中有一系列文件名称: - myFile201801010703.file

我正在尝试解析文件夹中每个文件名的yyyymmdd部分,并根据日期对数组进行排序.

所以,如果我有以下文件:

  • myFile201801200000.file(01/20/2018)
  • myFile201800100000.file(01/01/2018)
  • myFile201801100000.file(01/10/2018)

它会将它们分类为一个数组:

  • myFile201800100000.file(01/01/2018)
  • myFile201801100000.file(01/10/2018)
  • myFile201801200000.file(01/20/2018)

我有一个适用于名称中包含时间戳的文件的进程,但是只能在日期工作时无法调整它:

    # RegEx pattern to parse the timestamps
    $Pattern = '(\d{4})(\d{2})(\d{2})*\' + ".fileExtension"
    $FilesList = New-Object System.Collections.ArrayList
    $Temp = New-Object System.Collections.ArrayList
    Get-ChildItem $SourceFolder | ForEach {
        if ($_.Name -match $Pattern) {
            Write-Verbose "Add $($_.Name)" -Verbose
            $Date = $Matches[2],$Matches[3],$Matches[1] -join '/'
            $Time = $Matches[4..6] -join ':'
            [void]$Temp.Add(
                (New-Object PSObject -Property @{
                    Date = [datetime]"$($Date) $($Time)" #If I comment out $($Time)it doesn't work.
                    File = $_
                }
            ))
        }
    } …
Run Code Online (Sandbox Code Playgroud)

powershell

2
推荐指数
1
解决办法
233
查看次数

标签 统计

powershell ×1