保存前面有一个字母的新文件

时间:2011-05-04 11:17:36

标签: vbscript qtp

请找到代码:

问题是文件夹有大号没有。文件

=====================================================================================
Dim fso, objFolder, obFileList, folderpath,counter

folderpath = "G:\Everyone\Model Office Testing Documents\HP QC\QTP\PSISAutomation\Logs"

Set fso = CreateObject("Scripting.FileSystemObject")

Set objFolder = fso.GetFolder(folderpath)

Set objFileList = objFolder.Files


For Each File In objFileList
    msgbox("5")
     If InStr(1,File.Name,"DE_For_Pol_Print_APPA_7A_Copy_") = 1 Then        
        counter=counter+1
     End If   
Next 

counter=counter+1
msgbox("new file will be saved as: " &"DE_For_Pol_Print_APPA_7A_Copy_"& Chr(64 + Counter))

1 个答案:

答案 0 :(得分:0)

不要使用FSO,而是使用将文件名放在SELECT语句中的WMI,例如:"DE_For_Pol_Print_APPA_7A_Copy_%"。这应该返回一个只包含所请求文件名的文件的集合(比总集合快)。

文件集合没有count属性,但您可以使用:

For Each file in fileCollection
    counter = counter + 1
Next

这将不会访问内部文件对象,并且应该合理地运行。

第二种甚至更快(但更丑陋的imo)技术是使用来自windowshell对象的命令提示符并将dir返回到输出。输出只是一个字符串。现在,计算所需字符串的匹配数量(DE_For_Pol_Print_APPA_7A_Copy_),这是您的计数器。

确切的代码留空作为海报的练习。