8
0
Skriptentwickung/current/Start-ExeOrScriptFile/Start-ExeOrScriptFiles.vbs
2024-01-24 16:42:38 +01:00

91 lines
4.5 KiB
Plaintext

' VB Script Document
option explicit
'
' Digital Data
' Ludwig-Rinn-Strasse 16
' 35452 Heuchelheim
' Tel.: 0641 / 202360
' E-Mail: info@didalog.de
'
' Version Number: 1.0.0.0
' Version Date: 04.07.2018
Const cOrdnertrennzeichen = "\"
Const cSeachString = "*"
Const cPowershell = "powershell.exe -ExecutionPolicy Bypass -file "
'-------------------- Diese Konstanten müssen angepasst werden ---------------------------------------------------'
Const cSettingsPath = "P:\Skriptentwickung\released-and-published\Start-ExeOrScriptFile\Start-ExeOrScriptFile_Settings.ini"
'-----------------------------------------------------------------------------------------------------------------'
Dim Shell, FSO, IniFile, FSOFile, FSOFolder_Search
Dim vZeile, vArr_Zeile, i
Dim vWaiting, vFilter, vArr_Filter, vPos, vExtension
On Error resume next
If Err.Number = 0 Then
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Shell = CreateObject("WScript.Shell")
'---------------- INI-Datei auslesen -------------------------------------------------------------------------'
Set IniFile = FSO.OpenTextFile(cSettingsPath, 1)
Do
vZeile = IniFile.ReadLine()
If Len(vZeile) > 0 Then
vArr_Zeile = Split(vZeile, "=")
If Left(Trim(vArr_Zeile(0)),1) <> "[" Then
Select Case UCase(Trim(vArr_Zeile(0)))
Case UCase("SearchPath")
Set FSOFolder_Search = FSO.GetFolder(Trim(vArr_Zeile(1)))
Case UCase("Filter")
vFilter = CStr(Trim(vArr_Zeile(1)))
Case UCase("Waiting")
vWaiting = CBool(CInt(Trim(vArr_Zeile(1))))
End Select
End If
End If
Loop Until IniFile.AtEndOfStream = True
IniFile.Close
'-------------------------------------------------------------------------------------------------------------'
'---------------- Programme anhand Filter ausführen ----------------------------------------------------------'
vPos = InStr(1,vFilter,cSeachString,0)
If vPos > 0 Then
vExtension = UCase(Mid(vFilter,vPos + 2))
For Each FSOFile In FSOFolder_Search.Files
If UCase(FSO.GetExtensionName(FSOFile)) = vExtension Then '-- alle Dateien nach dem Filter überprüfen'
If UCase(FSO.GetExtensionName(FSOFile)) = "VBS" Then
'Shell.Run """" & FSOFolder_Search & cOrdnertrennzeichen & FSO.GetFileName(FSOFile) & """",0,vWaiting
Msgbox """" & FSOFolder_Search & cOrdnertrennzeichen & FSO.GetFileName(FSOFile) & """" & ", 0, " & CStr(vWaiting)
ElseIf UCase(FSO.GetExtensionName(FSOFile)) = "PS1" Then
'Shell.Run cPowershell & """" & FSOFolder_Search & cOrdnertrennzeichen & FSO.GetFileName(FSOFile) & """",0,vWaiting
Msgbox cPowershell & """" & FSOFolder_Search & cOrdnertrennzeichen & FSO.GetFileName(FSOFile) & """" & ", 0, " & CStr(vWaiting)
Else
'Shell.Run """" & FSOFolder_Search & cOrdnertrennzeichen & FSO.GetFileName(FSOFile) & """",0,vWaiting
Msgbox """" & FSOFolder_Search & cOrdnertrennzeichen & FSO.GetFileName(FSOFile) & """" & ", 0, " & CStr(vWaiting)
End If
End If
Next
Else
vArr_Filter = Split(vFilter, ";")
For i = 0 To Ubound(vArr_Filter)
If FSO.FileExists(FSOFolder_Search & cOrdnertrennzeichen & FSO.GetFileName(vArr_Filter(i))) = True Then
If UCase(FSO.GetExtensionName(FSOFolder_Search & cOrdnertrennzeichen & FSO.GetFileName(vArr_Filter(i)))) = "PS1" Then
'Shell.Run cPowershell & """" & FSOFolder_Search & cOrdnertrennzeichen & FSO.GetFileName(vArr_Filter(i)) & """",0,vWaiting
Msgbox cPowershell & """" & FSOFolder_Search & cOrdnertrennzeichen & FSO.GetFileName(vArr_Filter(i)) & """" & ", 0, " & CStr(vWaiting)
Else
'Shell.Run """" & FSOFolder_Search & cOrdnertrennzeichen & FSO.GetFileName(vArr_Filter(i)) & """",0,vWaiting
Msgbox """" & FSOFolder_Search & cOrdnertrennzeichen & FSO.GetFileName(vArr_Filter(i)) & """" & ", 0, " & CStr(vWaiting)
End If
End If
Next
End If
'-------------------------------------------------------------------------------------------------------------'
Set FSOFolder_SearchPath = Nothing
Set IniFile = Nothing
Set FSO = Nothing
Set Shell = Nothing
Else
MsgBox(Err.Description)
End If