2014-03-12 28 views
0

我正在閱讀一個txt文件,然後能夠在我的vb腳本中使用該變量,但它不起作用。如果我將它回顯給控制檯,它會顯示「ÿþ」。我不知道這是什麼。這裏是我的代碼VBS ReadLine錯誤þH

Const FONTS = &H14& 
Set objShell = CreateObject("Shell.Application") 
Set objFolder = objShell.Namespace(FONTS) 


FileName = "c:\users\user\desktop\fonts.txt" 
Const ForReading = 1 
Set objFile = fso.OpenTextFile(FileName, ForReading) 
Do Until objFile.AtEndOfStream 
    count = objFile.ReadLine 
    Wscript.Echo count 'this outputs "ÿþH" instead of "arial.ttf" from file 
    objFoler.CopyHere "c:\users\user\desktop\"& count 
Loop 
objFile.Close 
+1

如果您嘗試以下操作,會發生什麼情況? 'Set objFile = fso.OpenTextFile(FileName,ForReading,False,-1)' – mkowalski

+0

非常感謝。我原本使用過這個,但是有一些理由我把它拿走了。不知道如何標記爲回答。 – user3403720

回答

0

該文件可能是Unicode,而不是ASCII。

如果您將Const TristateTrue = -1添加到腳本中,然後調用Set objFile = fso.OpenTextFile(FileName, ForReading, TristateTrue)而不是Set objFile = fso.OpenTextFile(FileName, ForReading),則該文件將以Unicode而不是ASCII打開。

根據Scripting.FileSystemObject的文檔,TristateTrue表示文件將以Unicode形式打開。