【Jenkins自动化】保留目录指定文件,删除冗余文件

在工作中,遇到有时候目录中存在多个不同后缀的文件,需要保留最新的文件,删除旧文件,与批处理命令对比后,PowerShell更为简洁与易读。

生产环境中,目录往往是随着项目发展而日渐增加的。如果使用参数传入目录名,在后期维护上会显得繁琐。故可以每次执行Jenkins自动化之前均遍历一次目标目录。

如保留d盘中最新的7个zip压缩文件,删除其余的zip后缀冗余文件(只针对zip后缀的文件操作):

那对于多个目录的话,只需加上上文提到的遍历操作(输出字符串,并以“,”隔开):

def dir_name = powershell(script: "(Get-ChildItem -Path ${目标目录} | Select-Object -ExpandProperty Name) -join ','", returnStdout: true).trim()

for(dir in "${dir_name}".tokenize(',')){
    // 定义一个cnt变量接收每一次遍历目录下的产物数量,注意需要将powershell的输出转换成整型用于下面与数字整型比较
    def cnt = powershell(script: "(Get-ChildItem -Path ${dir}\\).Count ", returnStdout: true).trim().toInteger()
    // 按需删除,这里是保留最新的7个文件,删除其余冗余文件
    powershell "Get-ChildItem -Path ${目标目录} | Sort-Object LastWritetime -Descending | Select-Object -Skip 7 | Remove-Item -Force"
}


总结:对于powershell的使用,要擅于使用管道符。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值