我是 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
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)