-1
我以前从未使用过脚本或vbs文件,而且我最近才熟悉VB。我需要编写一个脚本来打开指定位置的.TS(基本上是.txt)文件,并将它们重命名为在其中找到的ID号。这里是我的代码,到目前为止,我相信它已经不仅仅是这些错误的我可以识别:逐行读取.txt文件,并根据文件中的特定ID号重命名文件使用vbs
Imports System.IO
Dim folder
folder = "C:\temp"
For each file in Directory.GetFiles(folder, "R00*.TS")
Dim filename
filename = Path.GetFileName(file).ToString()
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile((Path.Combine(folder, filename)), _
ForReading)
Do Until objFile.AtEndOfStream
objFile.ReadLine
If line.contains("RECORDER ID:") Then
Dim RID
RID = line.Substring(13, 24)
objFile.close
objFSO.MoveFile filename, RID + ".txt"
End If
Loop
Next
的的ID号总是在同一个地方显然让我硬编码了它的位置(一旦正确的路线是标识)。我不确定VB和vbs的语法差异(如果有的话)。
我的当前错误的instace - 由Windows脚本宿主给出 - 是“对象要求:系统”代码:800A01A8第1行字符1.我猜我缺少或使用不正确的导入?
好了,做完了,现在出现一个错误“Object required:'Directory'”line 5 char 1,它在.net中需要导入。是否有不同的方式通过循环访问本地文件路径中的多个文件? –
对,您需要删除.NET BCL的所有用法,然后使用objFSO。 – SvenAelterman
我先发布的链接有支持的函数列表,例如Set fldr = objFSO.GetFolder(“C:\ Temp”) – SvenAelterman