我正在使用Powershell脚本在远程服务器上部署代码库。
脚本的一个主要部分将当前版本复制到服务器。现在,我只需要将最后两个版本保存在远程服务器上,并删除所有其他版本。
我需要保留最新的两个版本
在远程服务器上,我有
//server001/Application/
Build_1_0_0_19
Build_1_0_0_18
Build_1_0_0_17
Build_1_0_0_16在部署_17时,我需要清除构建_16和_19。
我们可以根据修改的时间来分类目录,最后的两个将出现在上面。休息是不需要的。
这能通过Powershell脚本完成吗?
构建并不总是按顺序排列的。
发布于 2011-08-17 11:14:32
你可以这样做:
#requires -version 2
Get-ChildItem //server001/Application/|
Sort-Object CreationTime -Descending|
Select-Object -Skip 2|
Remove-Item -Recurse -Confirm只要你确信-Confirm开关能做你想做的事情,它就会被移除。
下面是一个与v1兼容的方法:
$dirs = @(Get-ChildItem //server001/Application/)
$dirs|
Sort-Object CreationTime -Descending|
Select-Object -Last ($dirs.Count - 2)|
Remove-Item -Recurse -Confirmhttps://stackoverflow.com/questions/7090825
复制相似问题