powershell 如何删除一些旧文件,只保留最新的三个副本?

7gyucuyw  于 2023-01-30  发布在  Shell
关注(0)|答案(2)|浏览(205)

我想用powershell命令删除一些旧文件并保留最新的3个副本。
例如:

A.1.0.txt
A.3.0.txt
A.6.1.txt
A.9.2.txt
A.2.2.txt
B.1.txt
B.4.txt
B.7.4.txt
B.0.3.2.6.4.txt
....

每个文件都有时间戳,用bash shell很容易处理,比如:

ls -t A.*txt| head -n -3 | xargs --no-run-if-empty rm
ls -t B.*txt| head -n -3 | xargs --no-run-if-empty rm

我不太会使用powershell命令,有没有办法删除旧文件?有没有人可以给我一些建议?
谢谢。

bvn4nwqk

bvn4nwqk1#

假设您要删除目录中的所有文件,* 除了 * 3个最新的文件,这些命令如下:

$Items = Get-ChildItem -Path "C:\Path\to\files\" -File
$Items | Sort-Object CreationTime | Select-Object -First ($Item.Count - 3) | Remove-Item
lbsnaicq

lbsnaicq2#

$Items = Get-ChildItem -Path ./A.[0-9]*
$Items | Sort-Object CreationTime  |Select-Object -first ($Items.count -3)

$Items = Get-ChildItem -Path ./A.[0-9]*
$Items | Sort-Object LastWriteTime |Select-Object -first ($Items.count -3)

相关问题