[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-wpkg/sources/tools/ -> fileversion.vbs (source)

   1  ' cscript fileversion.vbs NomFichier [GT|GE|LT|LE|EQ valeur]
   2  ' Retourne 0 si la version du Fichier vérifie le test
   3  
   4  Set objArgs = WScript.Arguments
   5  Dim Fich, Op, Oper, Valeur, ValVersion
   6  
   7  Dim nArgs : nArgs = objArgs.Count
   8  Dim f
   9  
  10  If nArgs = 0 Then
  11      Syntaxe
  12  Else
  13      If nArgs >= 1 Then
  14          Fich = objArgs(0)
  15          If TestFileExist(Fich) Then
  16              ValVersion = FileVersion(Fich)
  17              If nArgs = 1 Then
  18                  WScript.Echo ValVersion
  19              End If
  20          Else
  21              WScript.Echo "Fichier absent !"
  22              WScript.Quit 4 ' Fichier absent
  23          End If
  24      End If
  25      If nArgs = 2 Then
  26          Syntaxe
  27      Else
  28          If nArgs = 3 Then
  29              If TestFileExist(Fich) Then
  30                  
  31                  Op = UCase(objArgs(1))
  32                  'WScript.Echo "Op=" & Op
  33                  Select Case Op
  34                      Case "GT" Oper = ">"
  35                      Case "GE" Oper = ">="
  36                      Case "LT" Oper = "<"
  37                      Case "LE" Oper = "<="
  38                      Case "EQ" Oper = "="
  39                      Case Else
  40                          syntaxe
  41                          WScript.Quit 3 ' Test inconnu
  42                  End Select
  43                  'WScript.Echo "Oper=" & Oper
  44              Else
  45                  WScript.Echo "Fichier absent !"
  46                  WScript.Quit 4 ' Fichier absent
  47              End If
  48              Valeur = objArgs(2)
  49              'WScript.Echo "ValVersion=" & ValVersion
  50              If Valeur <> "" Then
  51                  'WScript.Echo ValVersion
  52                  If Valeur <> "" Then
  53                      If TestFileExist(Valeur) Then
  54                          ' Remplace le nom du fichier par son n° de version
  55                          Valeur = FileVersion(Valeur)
  56                      End If
  57                  Else
  58                      Syntaxe
  59                      WScript.Quit 3 ' Test inconnu
  60                  End If
  61              End If
  62              If Eval("TestVersion(ValVersion, Valeur) "& Oper &" 0") Then
  63                  WScript.Echo ValVersion & " " & Oper & " " & Valeur & " : VRAI"
  64                  WScript.Quit 0
  65              Else
  66                  WScript.Echo ValVersion & " " & Oper & " " & Valeur & " : FAUX"
  67                  WScript.Quit 1
  68              End If
  69          End If
  70      End If
  71  End If
  72  
  73  Function Syntaxe()
  74      WScript.Echo "cscript fileversion.vbs NomFichier [GT|GE|LT|LE|EQ valeur]"
  75      WScript.Echo "    valeur peut être égal à un nom de fichier ou à un n° de version."
  76      WScript.Echo "    Retourne 0 si le test réussit"
  77  End Function
  78  Function TestVersion(v1, v2)
  79      'Compare les chaines de version v1 et v2 et reourne +1, -1 ou 0
  80      Dim i1, i2, va1, va2, vn1, vn2
  81      Dim retour
  82      'WScript.Echo "v1=" & v1 & ", v2="& v2
  83      i1 = InStr(v1, ".")
  84      i2 = InStr(v2, ".")
  85      If i1 > 0 Then
  86          va1 = Left(v1, i1-1)
  87          vn1 = Mid(v1, i1+1)
  88      Else
  89          va1 = v1
  90          vn1 = ""
  91      End If
  92      If i2 > 0 Then
  93          va2 = Left(v2, i2-1)
  94          vn2 = Mid(v2, i2+1)
  95      Else
  96          va2 = v2
  97          vn2 = ""
  98      End If
  99      If va1 = "" Then va1 = 0
 100      If va2 = "" Then va2 = 0
 101      If CInt(va1) = CInt(va2) Then
 102          If vn1 = "" And vn2 = "" Then
 103              retour = 0
 104          Else
 105              retour = TestVersion(vn1, vn2)
 106          End If
 107      Else
 108          If CInt(va1) > CInt(va2) Then
 109              retour = 1
 110          Else
 111              retour = -1
 112          End If
 113      End If
 114      TestVersion = retour
 115      'WScript.Echo "retour =" & retour
 116  End Function
 117  Function TestFileExist(Fichier)
 118      Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
 119      TestFileExist = fso.FileExists(Fichier)
 120  End Function
 121  Function FileVersion(Fichier)
 122      'Retourne la version d'un fichier ou "" sinon
 123      Dim version
 124      'pr "Fichier=" & Fichier & vbCrLf & "Valeur=" & valeur
 125      Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
 126      If fso.FileExists(Fichier) Then
 127          'pr "Fichier=" & Fichier & vbCrLf & "existe !"
 128          version = fso.GetFileVersion(Fichier)
 129          'pr "version=" & version
 130          If Len(version) > 0 Then
 131              FileVersion = version
 132          Else
 133              FileVersion = ""
 134          End If
 135      Else
 136          FileVersion = ""
 137      End If
 138  End Function


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1