' 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