首页 > 其他分享 >文件拷贝脚本

文件拷贝脚本

时间:2024-05-19 20:19:37浏览次数:14  
标签:脚本 文件 search Global fileName file EndIf 拷贝 folderPath

#include <FileConstants.au3>
#include <Array.au3>

Global $sourceFolder = "G:\test_bak"
Global $destinationFolder = "G:\select"
Global $listFilePath = "G:\list.txt"
Global $logFilePath = "G:\search_log.txt"

; 读取清单文件
Global $listArray = FileReadToArray($listFilePath)

If @error Then
    MsgBox($MB_ICONERROR, "Error", "Failed to read list file!")
    Exit
EndIf

; 打开日志文件
Global $logFile = FileOpen($logFilePath, $FO_APPEND)

If $logFile = -1 Then
    MsgBox($MB_ICONERROR, "Error", "Failed to open log file!")
    Exit
EndIf

; 遍历清单中的每一项
For $item In $listArray
    ; 搜索文件名包含清单中任何一项的文件
    SearchFiles($sourceFolder, $item)
Next

FileClose($logFile)
MsgBox(64, "Info", "Search completed! Please check the log file for details.")

; 搜索文件名包含指定项的函数
Func SearchFiles($folderPath, $itemName)
    Local $search = FileFindFirstFile($folderPath & "\*.*")

    If $search = -1 Then
        FileWriteLine($logFile, "File not found for item: " & $itemName)
    Else
        While 1
            Local $fileName = FileFindNextFile($search)
            If @error Then ExitLoop

            ; 如果文件名包含指定项,则复制到目标文件夹
            If StringInStr($fileName, $itemName) Then
                If Not FileCopy($folderPath & "\" & $fileName, $destinationFolder & "\" & $fileName, $FC_OVERWRITE) Then
                    MsgBox($MB_ICONERROR, "Error", "Failed to copy file: " & $fileName)
                EndIf
            EndIf

            ; 如果是文件夹,则递归搜索其中的文件
            If StringInStr(FileGetAttrib($folderPath & "\" & $fileName), "D") Then
                SearchFiles($folderPath & "\" & $fileName, $itemName)
            EndIf
        WEnd

        FileClose($search)
    EndIf
EndFunc

 

标签:脚本,文件,search,Global,fileName,file,EndIf,拷贝,folderPath
From: https://www.cnblogs.com/aldary/p/18200704

相关文章

  • vsftp2配置文件备份
    vsftp2文件:#/etc/pam.d/vsftpd#%PAM-1.0#这一行是注释,以%开头#PAM配置的版本号authrequiredpam_unix.so#使用系统密码文件进行认证accountrequiredpam_unix.so#使用系统密码文件进行账户管理vsftp.conf文件:#/etc/vsftpd.conf#允许匿名用......
  • mdk生成bin文件,stm32 bootloader跳转地址问题
    stm32的bootloader使用ymodem烧写app程序,app程序不能使用hex文件hex文件带了地址信息,需要使用bin文件作为app程序写入打开魔术棒在这里填入fromelf-bin-output./stm32f103_app/stm32f103_app.bin./stm32f103_app/stm32f103_app.axf   其中./表示项目所在位置,居......
  • JEEVMS仓库管理系统任意文件读取漏洞
    漏洞描述该漏洞由于系统未能正确实施或执行对文件的访问控制权限控制,允许未经授权的用户访问或读取文件,并且应用程序未能对用户输入进行适当验证,攻击者可以构造特殊的输入,如路径遍历攻击读取系统文件内容,导致信息泄露Fofa:body="plug-in/lhgDialog/lhgdialog.min.js?skin=metro......
  • wimlib可以处理多种Windows映像文件格式,包括WIM、ESD、VHD等,而且还支持高级功能,如压缩
    可以将wimlib视为DISM的替代品之一。虽然DISM是Windows操作系统中的内置工具,但wimlib提供了类似的功能,并且更加灵活和跨平台。wimlib可以处理多种Windows映像文件格式,包括WIM、ESD、VHD等,而且还支持高级功能,如压缩和转换映像文件格式、创建和挂载虚拟磁盘等。它是一个开源软......
  • mac安装软件报文件已损坏错误
    事情是这样的,之前我的电脑都是可以自己安装idea之类的软件的,但是最近都无法安装了,打开显示“文件已损坏,请移除”,然后回忆了下最近有升级macos,接着便开始查询网站给我的建议,说要执行命令啥的,再重启一下,但是依然不行,随后看到执行sudoxattr-r-dcom.apple.quarantine 后面有个空......
  • Windows文件管理器替代品,除了Windows自带的文件管理器外,还有一些其他的替代品可供选择
    除了Windows自带的文件管理器外,还有一些其他的替代品可供选择,根据不同需求和偏好,可以选择适合自己的文件管理器。以下是一些常用的Windows文件管理器替代品:TotalCommander:这是一款功能强大的文件管理器,提供了两个窗口式的界面,支持各种文件操作和批量处理,以及丰富的插件和......
  • 如何把多个文件(夹)平均复制到多个文件夹中
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 假定的情况是,共有20个兔兔的图片,想要平均的复制4个文件夹里,那么每个文件夹里面就有5个图片(如果是5个,那每个自然是4个,具体除数是多少,根据实际情况即可)打开工具,切换到文件批量复制版块找到右下角的设置,点......
  • 任意文件上传漏洞详解
    当文件上传接口可以上传任意文件,但是不解析,文件上传后的路径可控。这种情况下有两种方法1、上传.htaccess和.user.ini配置文件。2、当知道网站根路径的情况下,可以上传到其他目录下。3、当不知道网站根路径的情况下,可以通过上传计划任务的方式实现命令执行。文件上传漏洞的定义文......
  • 如何把多个文件(夹)向上移动1层(或多层)(在批量复制前或后进行)
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 假定情况是,我要把下图里的4个文件夹内部的全部文件,合并到04的当前位置来(4个文件夹里面各有5个兔兔的图片)打开工具,切换到文件批量复制版块找到右下角的更多,点击,来设置上移的情况勾选“来源路径”向上......
  • 如何把多个文件(夹)随机复制到多个文件夹中
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 先看文件的情况一共20个兔兔的图片,4个文件夹,把全部的图片随机的复制这些地方去打开工具,切换到文件批量复制版块找到右下角的设置,点击打开勾选“随机复制”,把文件进行随机的复制选中全部的兔兔图片,C......