Vbscript Vbs抛出语法错误。我能';我不明白为什么
我得到一个语法错误,但我不明白为什么。 我目前正在用vbs编写一些脚本,我是vbs新手。 由于这个脚本的行为让我困惑,我认为我做错了什么。 这是我的密码:Vbscript Vbs抛出语法错误。我能';我不明白为什么,vbscript,Vbscript,我得到一个语法错误,但我不明白为什么。 我目前正在用vbs编写一些脚本,我是vbs新手。 由于这个脚本的行为让我困惑,我认为我做错了什么。 这是我的密码: Option Explicit Const read =1,overwrite=2,append=8 'constants for parameters of OpenTextFile command Dim fos,i,ofile,text,month,day,year,hour,minute,day2 Set fos =Create
Option Explicit
Const read =1,overwrite=2,append=8 'constants for parameters of OpenTextFile command
Dim fos,i,ofile,text,month,day,year,hour,minute,day2
Set fos =CreateObject("Scripting.FileSystemObject")
'fos.OpenTextFile("path",type)
ofile =fos.OpenTextFile("C:\Users\martin\Desktop\txt\ReminderV1_0\daten\termin1.txt",1)
'read a date from a txt file
day=ofile.readline
month=ofile.readline
year=ofile.readline
hour=ofile.readline
minute=ofile.readline
set ofile=ofile.close
wscript.echo "abcde" 'i never get a messagebox "abcde" and i dont know why
If day eqv "01" then day2="first" 'use of eqv or = seems to be meaningless
ElseIf day="02" day2="second"
ElseIf day="03" day2="third"
Else day2=day & "-th"
End if
msgbox "2"
text="the " & day2 & " of "& month & " " & year & " at "& hour &":"& minute &" o'clock"
msgbox "3"
msgbox text
它应该从文件夹中的txt文件(名称:“termin1”)中读取日期和时间,如下所示:
01
07
2014
19
20
我没走多远。
如果运行此操作,我会收到以下错误消息:
对不起,可能翻译不好(我是德国人)
这就是我的第一个孩子的“E”。
但由于我在Youtube和几个网站上查到了它,语法是正确的。
而且,即使我在第20行中调用了回声(“abcde”),我也从未收到任何回声。
我唯一的猜测是,我使用了任何错误的对象,或者违反了任何我还不知道的规则,因为我缺乏经验。试试这个
If day = "01" then day2="first" 'use of eqv or = seems to be meaningless
ElseIf day="02" then day2="second"
ElseIf day="03" then day2="third"
Else day2=day & "-th"
End if
您的代码有几个问题
If-foo-Then-bar
)不支持ElseIf
,即使它支持,您仍然必须将整个语句放在一行中。在您的情况下,必须使用块语法:
If condition1 Then
...
ElseIf condition2 Then
...
ElseIf condition3 Then
...
Else
...
End If
eqv
在VBScript中不是有效的比较运算符。使用=
day=ofile.readline
month=ofile.readline
year=ofile.readline
hour=ofile.readline
minute=ofile.readline
set ofile=ofile.close
wscript.echo "abcde" 'i never get a messagebox "abcde" and i dont know why
If day eqv "01" then day2="first" 'use of eqv or = seems to be meaningless
ElseIf day="02" day2="second"
ElseIf day="03" day2="third"
Else day2=day & "-th"
End if
为此:
dayRead = ofile.ReadLine
monthRead = ofile.ReadLine
yearRead = ofile.ReadLine
hourRead = ofile.ReadLine
minuteRead = ofile.ReadLine
ofile.Close
Wscript.Echo "abcde"
If dayRead = "01" Then
day2 = "first"
ElseIf dayRead = "02" Then
day2 = "second"
ElseIf dayRead = "03" Then
day2 = "third"
Else
day2 = dayRead & "-th"
End If
错误将消失。非常有用,谢谢。现在一切正常。到目前为止:)
dayRead = ofile.ReadLine
monthRead = ofile.ReadLine
yearRead = ofile.ReadLine
hourRead = ofile.ReadLine
minuteRead = ofile.ReadLine
ofile.Close
Wscript.Echo "abcde"
If dayRead = "01" Then
day2 = "first"
ElseIf dayRead = "02" Then
day2 = "second"
ElseIf dayRead = "03" Then
day2 = "third"
Else
day2 = dayRead & "-th"
End If