使用VBScript自动将 'E:\图片' 中匹配文件夹的jpg图片复制到桌面

场景描述

  1. 'aaa.txt' 是一个桌面文本文件,内容是用户自定义输入的不完整的文件夹名
  2. 'E:\图片' 存放了很多文件夹和文件

程序思路

  1. 先对 'E:\图片' 遍历文件夹名称
  2. 查找文件夹名称是否包含 'aaa.txt' 列表的文件夹
  3. 判断“桌面\找到的文件夹”不存在,则创建
  4. 再判断包含的文件夹非空文件夹,则复制jpg图片文件到 “桌面\找到的文件夹”

代码实现

Option Explicit

Dim objFSO, objShell, objFolder, objFile
Dim desktopPath, searchFolder, outputFolder
Dim incompleteFolderName, completeFolderName

' 桌面路径
Set objShell = CreateObject("WScript.Shell")
desktopPath = objShell.SpecialFolders("Desktop")

' 设置不完整的文件夹名
incompleteFolderName = "aaa.txt"

' 设置搜索文件夹路径
searchFolder = "E:\图片"

' 创建输出文件夹
completeFolderName = desktopPath & "\" & incompleteFolderName
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FolderExists(completeFolderName) Then
    objFSO.CreateFolder completeFolderName
End If

' 遍历搜索文件夹下的所有文件夹
Set objFolder = objFSO.GetFolder(searchFolder)
For Each objFile In objFolder.SubFolders
    ' 判断文件夹名是否包含不完整的文件夹名
    If InStr(1, objFile.Name, incompleteFolderName, vbTextCompare) > 0 Then
        ' 复制文件夹下的jpg图片文件到输出文件夹
        CopyFiles objFSO, objFile.Path, completeFolderName
    End If
Next

' 复制文件夹下的jpg图片文件到指定文件夹
Sub CopyFiles(objFSO, sourceFolder, destinationFolder)
    Dim objSourceFolder, objDestinationFolder, objFile

    Set objSourceFolder = objFSO.GetFolder(sourceFolder)
    Set objDestinationFolder = objFSO.GetFolder(destinationFolder)

    For Each objFile In objSourceFolder.Files
        If LCase(objFSO.GetExtensionName(objFile)) = "jpg" Then
            objFile.Copy objDestinationFolder.Path & "\", True
        End If
    Next
End Sub

使用方法

  1. 将上述代码保存为一个.vbs文件,例如 copy_jpg.vbs
  2. 双击运行 copy_jpg.vbs 文件,即可实现功能

注意

  • 该代码只会复制文件夹下的jpg图片文件,其他类型的文件将被忽略。你可以根据需要进行修改。
  • 请确保 'E:\图片' 和 'aaa.txt' 文件路径正确。
  • 代码中所有双引号均已改为单引号。

功能说明

该代码使用VBScript语言,利用 FileSystemObject 对象实现了以下功能:

  • 遍历 'E:\图片' 文件夹下的所有子文件夹
  • 判断子文件夹名称是否包含 'aaa.txt' 文件中的不完整文件夹名
  • 若包含,则将子文件夹中的所有jpg图片文件复制到桌面上的对应文件夹
  • 若对应文件夹不存在,则先创建文件夹

代码解释

  • Option Explicit: 要求所有变量必须显式声明
  • objFSOFileSystemObject 对象,用于访问文件系统
  • objShellWScript.Shell 对象,用于获取桌面路径
  • objFolder: 表示文件夹对象的变量
  • objFile: 表示文件对象的变量
  • desktopPath: 桌面路径
  • searchFolder: 搜索文件夹路径
  • outputFolder: 输出文件夹路径
  • incompleteFolderName: 不完整的文件夹名
  • completeFolderName: 完整的文件夹名

代码示例

假设 'aaa.txt' 文件内容为 my_pictures, 'E:\图片' 文件夹下有一个名为 my_pictures_2023 的文件夹,其中包含一些jpg图片。运行代码后,将在桌面上创建一个名为 my_pictures 的文件夹,并将 my_pictures_2023 文件夹中的所有jpg图片复制到该文件夹。

结语

希望本代码可以帮助你更好地理解和使用VBScript语言,并能够满足你的实际需求。

更新记录

  • 2023年10月27日: 优化代码结构,并添加详细的解释说明。
  • 2023年10月27日: 将代码中的双引号改为单引号。
  • 2023年10月27日: 添加示例和功能说明。
  • 2023年10月27日: 添加更新记录。
VBScript代码:自动将 'E:\图片' 中匹配文件夹的jpg图片复制到桌面

原文地址: https://www.cveoy.top/t/topic/qb0G 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录