遍历jenkins build后的文件夹,找出最新“build NO.”复制到制定目录进行操作

# -*- coding: utf-8 -*-
import os
import shutil
import sys

def UnZipFile(inputPath, outPath):
    _unZipPath = os.getcwd() + "\\7-Zip\\7z.exe "#原来输出成果物的进行了压缩,输出到指定的build里,所以我们要利用7z.exe来解压缩。需要调用此程序
    _param = "  x  " + inputPath + " -o"
    _param = _param + outPath
    _cmd = _unZipPath + _param

    print _cmd
    os.system(_cmd)

def GetbiggestFolder(inputPath): #获取文件夹操作

   _maxPath = ""
   _maxNum = 0
   for folder in os.listdir(inputPath):
      _inputFolderPath = os.path.join(inputPath, folder)
      if os.path.isdir(_inputFolderPath):
         if str(folder).isdigit():
            if int(folder) > _maxNum :
               _maxNum = int(folder)
               _maxPath = _inputFolderPath

   return _maxPath

def copyFile(_oldPath, _newPath):
        if os.path.exists(_newPath) is not True:
                os.makedirs(_newPath)
        if os.path.isdir(_newPath):
                shutil.copy(_oldPath, _newPath)

def Usage(s = ""):
   print "Usage: unzip.py [source folder] [target folder]"
   if s:
      print s
      sys.exit(1)

if __name__ == "__main__":
   """while True:
      g_InputPath = raw_input("Please input source folder path:")
      if g_InputPath.rfind(‘\\‘) != -1:
         break

   while True:
      g_OutputPath = raw_input("Please input target folder path:")
      if g_OutputPath.rfind(‘\\‘) != -1:
         break
   """
   argv = sys.argv
   i = 1
   iLen = len(argv)
   if len(argv) != 3:
      _errorInfor = "There should be 2 parameters, but you input " + str(iLen -1)
      Usage(_errorInfor)

   g_InputPath = argv[1]
   g_OutputPath = argv[2]

   _maxPath = GetbiggestFolder(g_InputPath)
   print _maxPath

   for _file in os.listdir(_maxPath):
     _inputFilePath = os.path.join(_maxPath, _file)
     if os.path.isfile(_inputFilePath):
         if _file.find(‘.7z‘) != -1 or  _file.find(‘.rar‘) != -1 or  _file.find(‘.zip‘) != -1:
             print _inputFilePath

             UnZipFile(_inputFilePath, g_OutputPath)
             copyFile(_inputFilePath, g_OutputPath)
时间: 2024-11-07 16:16:31

遍历jenkins build后的文件夹,找出最新“build NO.”复制到制定目录进行操作的相关文章

遍历指定文件夹下的所有图片,并复制到指定目录下

import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.imageio.ImageIO; public class Copy { /** * 遍历文件夹下的所有图片文件,并复制到指定文件夹下 */ static String srcfile = "E:/I

安全加密后的文件夹怎么打开呢?

在Windows中,打开控制面板,可以进行系统设置:打开拨号网络,可以建立新连接,或进行拨号:打开打印机,可以安装打印机,并可对打印机进行设置-- 其实,我们也可以自己制造这样的文件夹.下面就跟我一起来制作吧. 对于加密后的文件夹怎么打开呢?因为我们无法把该文件夹名称中的类ID号直接删除,所以无法通过重命名把该文件夹变为普通文件夹.那么怎么办呢?我们可以用压缩软件WinRAR来解决这个问题.启动WinRAR,切换到该文件夹的上级文件夹,右键单击该文件夹,在弹出菜单中选择"重命名",去掉

MySQL 的include lib文件夹找不到怎么

安装了mySQL 目录下却没有include和lib文件夹 是因为在安装的时候,忘记勾选自定义安装的develop component这一项了 只需要重新点击安装文件 modify的过程中添加以下就可以了 MySQL 的include lib文件夹找不到怎么

Python常见面试题——如何遍历一个内部未知的文件夹?

在面试中,我们时常会遇到各种各样的问题,今天小编就选取了一个比较常见的问题来进行分析.这个问题就是如何遍历一个内部未知的文件夹. 在工作当中,我们常用的有以下这几种方法: os.path.walk(),os.walk,listdir 以os.walk()为例: os.walk(top, topdown=True, onerror=None, followlinks=False) 参数: top 是你所要遍历的目录地址 topdown 为真,则优先遍历top目录,否则优先遍历top的子目录(默认开

Powershell 从多个文件中找出关键子文件(findstr)

从文件中找出关键字 $colItems = Get-ChildItem d:\test #定义文件夹的路径 foreach ($i in $colItems) #循环获取文件夹下的txt文件 { $filecontent= Get-Content $i.fullName | findstr /i "a" #获取txt文件的内容 并找到数字a write-host $filecontent $i.fullname} #输出到屏幕上  

[转帖]XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件

XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件 https://www.cnblogs.com/smartsmile/p/7665979.html xcopy dirA dirB /s /e /y XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝系统文件:使用时源盘符.源目标路径名.源文件名至少指定一个:选用/S时对源目录下及其子目录下的所有文件进行COPY.除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目

用php遍历所有指定路径的文件夹以及其下所有子文件夹

<?php function bianli($dir){$list=scandir($dir);foreach($list as $v){ //遍历文件夹$file_location=$dir."/".$v; //记录路径if(is_dir($file_location)&&$v!="."&&$v!=".."){echo $v."&nbsp<br>";echo &quo

使用virtualbox 虚拟机在windows下安装Ubuntu后的文件夹挂载 共享文件夹挂载出错 解决

virtualbox 中主机为win8虚拟机为Ubuntu14.04 文件夹挂载问题: 自动挂载:使用虚拟机提供的共享文件夹,建立固定分配的数据空间,勾选自动挂载,但是每次开机后挂在到的是/media/sf_MyShare文件夹,并且该文件夹只有root采用执行权限,所以不想要挂载到此文件夹下 挂载到/mnt/shared下的方式: 对于大多数资料上所说在/etc/fstab中追加"share /mnt/share vboxsf defaults 0 0"或者是"share

指定一个文件夹自动计算出其总容量 并且进行目录下文件的添加 与指定文件的访问

代码实现: //编写一个程序,指定一个文件夹,能自动计算出其总容量import java.io.*;public class Denglu { public static void main(String[] args) throws IOException { try { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader inp=new BufferedReader(isr);//进行字节字符转换 用于