从文件夹中选择最新文件并使用powershell脚本将其复制到另一个文件

2023-12-30

我是 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(使用前将#替换为@)

从文件夹中选择最新文件并使用powershell脚本将其复制到另一个文件 的相关文章

随机推荐