【发布时间】:2019-05-09 01:58:23
【问题描述】:
有人可以帮我解决我在目录中有文件列表的要求,如果文件名中的字符串模式匹配,我想合并文件吗?
AAAL_555A_ORANGE1_F190404.TXT AAAL_555A_ORANGE2_F190404.TXT AAAL_555A_ORANGE3_F190404.TXT AAAL_555A_ORANGE4_F190404.TXT AAAL_555A_MANGO_F190404.TXT AAAL_555A_MANGO2_F190404.TXT AAAL_555B_APPLE_F190404.TXT AAAL_555B_ORANGE_F190404.TXT AAAL_555B_Orange_F190404.TXT如果filename='555A'的第二部分和第三部分由ORANGE组成,则所有Oranges内容文件将合并为一个文件名为AAAl_555A_ORANGE.txt的文件。
如果filename='555B'的第二部分和第三部分由ORANGE组成,则所有Oranges内容文件将合并为一个文件名为AAAl_555B_ORANGE.txt的文件。
如果filename='555A'的第二部分和第三部分由MANGO组成,则所有Oranges内容文件将合并为一个文件名为AAAl_555A_MANGO.txt等的文件。
Set ObjFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "C:\test"
Set objfolder = ObjFSO.GetFolder(objStartFolder)
Set colfiles = objfolder.Files
'intFile = FreeFile()
For Each objFile In colfiles
temparr1 = Split(objFile.Name, "_")
MsgBox temparr1(2)
If (InStr(1, temparr1(1), "555A") > 0 Or InStr(1, temparr1(1), "555A")) > 0 And (InStr(1, temparr1(2), "ORANGE ") > 0 Or InStr(1, temparr1(2), "ORANGE ")) Then
'Here the logic am trying to figure out
'Merge all orange files into "AAAL_ORANGE _555A.txt"
ElseIf InStr(1, temparr1(1), "555A") > 0 Or InStr(1, temparr1(1), "555A") > 0 Or InStr(1, temparr1(2), "MANGO") > 0 Or InStr(1, temparr1(2), "MANGO") Then
'Here the logic am trying to figure out
'Merge all orange files into "AAAL_MANGO_555A.txt"
End If
Next
【问题讨论】:
-
添加文件内容的顺序重要吗?
-
没关系。但是在合并第一行和最后三行时应该忽略所有文件@AnsgarWiechers
标签: vbscript