【发布时间】:2016-03-18 07:12:12
【问题描述】:
我有一个非常简单的任务。
有一个文件夹包含多个具有不同扩展名的文件。我需要制作一个脚本,它会在这个文件夹中找到所有扩展名为 .txt 的文件,从每个文件中读取第一行,然后将所有第一行写入新创建的文件中。
现在,我得到了这样的结果:
Option Explicit
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim f, colFiles , objFile
Dim tFolder, tFile
Dim lineToCopy, fileContents
Dim input, output
Set tFolder = fso.GetFolder("C:\Temp")
Set tFile = tFolder.CreateTextFile("test.txt", true)
Set f = fso.GetFolder("D:\Folder")
Set colFiles = f.Files
For Each objFile in colFiles
If LCase(fso.GetExtensionName(objFile.name)) = "txt" Then
Set input = fso.OpenTextFile(LCase(objFile.name))
If Not input.AtEndofStream Then lineToCopy = input.ReadLine
input.close
output = fso.OpenTextFile(tFolder, True)
output.WriteLine lineToCopy
output.close
End If
Next
WScript.sleep 60000000
激活后,.vbs 文件告诉我他无法从该行找到文件:
Set input = fso.OpenTextFile(LCase(objFile.name))
我想这是因为 IF LCASE<...> 块不将文件夹内容理解为 .txt 文件。我哪里错了,需要做些什么来解决这个问题?
您好, 理查德
【问题讨论】:
标签: vbscript