2

PowerShell スクリプトは初めてで、助けが必要です。

フォルダがあります\Output。次の形式のファイルがあります。

abc_1.dat
abc_2.dat
xyz_1.dat
abc_3.dat
pqr_2.dat
......

ここで、「abc」で始まる最新のファイル (abc_3.dat など) を見つけて、そのデータを abc.dat にコピーします。xyz と pqr についても同様です。これらのファイルは引き続き追加されます。

4

1 に答える 1

1

まず、一意のプレフィックスのリストを見つける必要があります。

$prefixes = Get-ChildItem \Output | 
    Where-Object { -not $_.PsIsContainer } |
    Foreach-Object { $_.Name.Substring(0, 3) } |
    Select-Object -Unique

次に、プレフィックスごとに、最新/最大の番号を見つけて、優先ファイルにコピーします。

$latest = $prefixes | 
    Foreach-Object { 
        Join-Path \Output "$_*" |
        Get-ChildItem |
        Add-Member NoteProperty -Name ID -Value { [int] ($_.BaseName -split '_')[1] } -PassThru |
        Sort-Object ID -Descending |
        Select-Object -First |
        Copy-Item -Destination \Output\$_.dat
    }
于 2012-06-05T23:49:43.897 に答える