【发布时间】:2021-11-25 01:02:24
【问题描述】:
我编写了一个 VB 脚本来计算几个 CSV 文件的行数,并将文件名和行数保存在 FileRecordCount.csv 文件中的文件中。该代码根本没有显示任何错误。
但是脚本根本不起作用。我不知道是什么问题。任何帮助任何帮助将不胜感激!????
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
vbsFile = Wscript.ScriptName
vbsFilePath = Wscript.ScriptFullName
sFolder = left(vbsFilePath,len(vbsFilePath)-(len(vbsFile)+1))
ResultsFile = sFolder & "\FileRecordCount.csv"
For Each objFile In objFSO.GetFolder(sFolder).Files
If UCase(objFSO.GetExtensionName(objFile.Name)) = "CSV" Then
oFile = objFile.path
Set objFile = objFSO.OpenTextFile(oFile, ForReading)
RowCount = 0
Do Until objFile.AtEndOfStream
WScript.Echo objFile.ReadLine
RowCount = RowCount + 1
Loop
'need to make a new file to write the results to
FileName = objFSO.GetFileName(ResultsFile)
strText = FileName & "," & RowCount
Set objFile = objFSO.OpenTextFile(ResultsFile, ForWriting)
objFile.WriteLine strText
objFile.Close
End if
Next
MsgBox "FileRowCount Complete"
【问题讨论】:
-
尝试更改您的 FileRecordCount.csv 输出文件名以使用不同的扩展名,例如 FileRecordCount.txt,因为它似乎被您的 CSV 输入处理所困。
-
嗨,它不工作。代码现在做什么,它只是打开文件并读取每个文件的内容。
-
您正在使用循环变量
objFile指向循环内的结果文件,使用另一个变量打开结果文件。最好在循环前打开文件,循环后关闭。 -
这能回答你的问题吗? Convert txt file to excel in vbscript