VBScript通过文件名中的最小值复制/移动文件

问题描述

我刚开始编写脚本,需要一些帮助。对于我们的非营利性客户,我遇到了一种独特的情况,该情况要求我们比较特定文件夹中的两个或多个文件,然后将文件名中数值最低的文件移到该文件中。

该组织经营着一个非营利性广播电台,其广播节目的内容由数百名志愿者提供,这些志愿者对他们的文件进行命名(当他们记录多个文件时),并在末尾使用各种数字表示文件的日期或顺序。要播出。

基本上,我希望创建一个vbscript(因为我认为可以通过这种方式完成),该脚本将在内容的第一个播出日期之前30分钟与Windows Task Scheduler一起运行,并以最低的值移动文件(如果存在一个以上的文件)到一个文件夹,该文件夹将由无线电自动化软件自动处理。

文件夹中文件的示例可能类似于以下内容:

文件夹1 :(在这种情况下,“ news.mp3”是最小值)

  • news.mp3
  • news1.mp3
  • news2.mp3

文件夹2:

  • entertainment24.mp3
  • entertainment26.mp3

文件夹3:

  • localnews081420.mp3
  • localnews081520.mp3

老实说,关于这一点,我什至不知道从哪里开始。我发现有几个脚本可以查看文件日期或文件名中的特定数字或日期格式,但没有一个脚本可以解析文件名中的数字并根据数值移动/复制文件。我希望那里有人比我聪明,可以指出正确的方向。感谢您看我的问题!

我一直在玩的一个脚本(来自脚本专家)使用文件名查看特定年份:

strComputer = “.”
Set objWMIService = GetObject(“winmgmts:\\” & strComputer & “\root\cimv2”)
Set colFiles = objWMIService.ExecQuery _
    (“ASSOCIATORS OF {Win32_Directory.Name=’C:\Test’} Where ” _
        & “ResultClass = CIM_DataFile”)
Set objRegEx = CreateObject(“VBScript.RegExp”)
For Each objFile in colFiles
    objRegEx.Global = True   
    objRegEx.Pattern = “\d{4}”
    strSearchString = objFile.FileName
    Set colMatches = objRegEx.Execute(strSearchString)
    strYear = colMatches(0).Value
    strNewFile = “C:\Test\” & strYear & “\” & objFile.FileName & _
        “.” & objFile.Extension
    objFile.Copy(strNewFile)
    objFile.Delete
Next

...但是我似乎无法跳到常规数,然后取最低值...

解决方法

您可以使用FileSystemObject处理驱动器,文件夹和文件。
我也使用GETNUM函数来获取数字。

尝试我的方式:

sFolder = "C:\Test\"
Set oFSO = CreateObject("Scripting.FileSystemObject")

For Each objFile in oFSO.GetFolder(sFolder).Files
    Number=GETNUM(objFile.Name)
    strNewFile = sFolder & Number & "\" & objFile.Name

    If NOT (oFSO.FolderExists(sFolder & Number)) Then
    oFSO.CreateFolder(sFolder & Number)
    End If
    oFSO.MoveFile objFile,strNewFile
Next

Function GETNUM(Str)
For i=1 To Len(Str)
if IsNumeric(Mid(Str,i,1)) Then
Num=Num&Mid(Str,1)
End if
Next
GETNUM=Num
End Function

要了解所使用的代码及其工作方式,请打开这些网站并仔细阅读所有页面。

MoveFile method

Vbs Script to check if a folder exist

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...