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 についても同様です。これらのファイルは引き続き追加されます。
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 についても同様です。これらのファイルは引き続き追加されます。
まず、一意のプレフィックスのリストを見つける必要があります。
$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
}