VBS:如何解析 "if"

VBS: how to parse "if"

我想解析代码:怎么看End If不是last IF而是first IF? vbs是怎么做到的?

If FSO.FolderExists(F) Then
  Test = 1 : Filt = 160 : BN = FSO.GetFileName(F)
Else
  Test = 0 : Filt = 192 : BN = FSO.GetBaseName(F)
  If C = 3 Then Ext = "." & FSO.GetExtensionName(F)
End If : Ent = InStrRev(BN, "(") : Max = 0

你有一个 If() 语句,还有一个放在里面的 If() 语句。第二个 If() 语句仅对一行使用特殊语法。

冒号 : 只是一种将两行合并到一行的方法。所以删除那些:

If FSO.FolderExists(F) Then
  Test = 1 
  Filt = 160 
  BN = FSO.GetFileName(F)
Else
  Test = 0 
  Filt = 192 
  BN = FSO.GetBaseName(F)

  If C = 3 Then Ext = "." & FSO.GetExtensionName(F)

End If 

Ent = InStrRev(BN, "(")
Max = 0

如果这还不足以使逻辑清晰,那么您应该学习 If() 语句的基础知识。