-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