string auslesen und vergleichen

Also wenn ich jetz 10 Prozessnamen in der datei stehen habe, muss ich für jeden diesen script teil einfügen.
Visual Basic:
	If InStr(1, strInhalt, "backup2.cmd", vbTextCompare) = suche Then            
				gefunden = gefunden +1
				End if
richtig
Und der Script zählt ja, wenn ich das richtige sehe, für jeden namen den er findet +1 und bricht bei 4 gefundenen übereinstimmungen die schleife ab
richtig
, wartet 30sec und
richtig
nicht richtig hierfür müsstest du noch eine äussere Endlosschleife basteln.

BSP:

Visual Basic:
 While true ' also immer am besten in Zeile 6
 

  wend ' rücksprung am besten in Zeile 40 / also ans ende

grüsse bb

Bitte korrigier mich wenn ich mich irren sollte.

Mfg der dynamofan
 
Visual Basic:
' +++ Konstanten und Variablen deklarieren
Const fsForReading = 1
Dim strDateiname, strInhalt
Dim objFs           ' FileSystemObject Objekt
Dim objTextStream   ' Textstream Objekt

While true ' also immer am besten in Zeile 6 ' eigentlich überflüssig... siehe Zeile 39
' +++ Datei, deren Inhalt gelesen wird:
strDateiname = "C:\...\plist.txt"
' +++ FileSystemObject anlegen und in fs speichern:
Set objFs = CreateObject("Scripting.FileSystemObject")
' +++ Textstream oeffnen, erlaubt Zugriff auf den Inhalt der Datei
Set objTextStream = objFs.OpenTextFile(strDateiname, fsForReading)
' +++ Gesamten Datei-Inhalt lesen und ausgeben

abbruch = False                         ' Setzen der Abbruchbedingung
    While Not abbruch                       'Schleife Beginn
        strInhalt = objTextStream.ReadLine  ' Zeile einlesen
			If InStr(1, strInhalt, "backup1.cmd", vbTextCompare) = suche Then            
				gefunden = gefunden +1
				End if
			If InStr(1, strInhalt, "backup2.cmd", vbTextCompare) = suche Then            
				gefunden = gefunden +1
				End if
			If InStr(1, strInhalt, "backup3.cmd", vbTextCompare) = suche Then            
				gefunden = gefunden +1
				End if
			If InStr(1, strInhalt, "backup4.cmd", vbTextCompare) = suche Then            
				gefunden = gefunden +1
			abbruch = true ' wenn nicht wahr (also nicht 4 übereinstimmungen, dann abbruch
            WScript.Sleep 30000 '+++warte 30 Sec
				End if
			
			if not abbruch then ' wenn 4 gefunden, dann -> zeile 35
 			abbruch = objTextStream.atEndOfStream 'Textfile zu ende also auch abbruch
			end if
    Wend  ' springt im script nach oben zum While
    
wend ' rücksprung am besten in Zeile 40 / also ans ende: eigentlich überflüssig?, da Zeile 37 schon hoch hochspringt

So, hab die Änderungen nochmal eingebaut, sowie das Warten nach weiter oben gesetzt und gleichzeitig einpar kommentare dazu geschreiben.

Mfg der dynamofan
 
Zuletzt bearbeitet:
Hallo,
ich hab mal, zum Testen, in Zeile 35
Visual Basic:
MsgBox("Test")
eingesetzt. Danach habe ich aus der Liste einen Befehl umbenannt, sodass nur 3 übereinstimmungen sind. Leider bringt er mir nicht die gewünschte Reaktion.
Vielleicht könntest du nochmal drüberschauhen.

Mfg der dynamofan
 
Was steht eigentlich in Suche drin?

Die funktion instr liefert eine Zahl zurück 0 wenn der gesuchte string nicht vorhanden ist und die erste Position des gesuchten strings wenn er vorhanden ist.

Zweitens nach deinem Script bricht er nur ab wenn er das 4. gefunden hat ob die anderen 3 vorhanden waren ist dabei egal (Prüfe hierbei nochmal ob du nicht irgendwo eine If anweisung vergessen hast)

Danach habe ich aus der Liste einen Befehl umbenannt, sodass nur 3 übereinstimmungen sind. Leider bringt er mir nicht die gewünschte Reaktion.

Das ist sehr unpräzise was wäre denn die gewünschte Reaktion. (hier hilft vielleicht der Tip von oben)

Grüsse bb
 
Hallo,
Wie müsste der Script denn aussehen, wenn er 4 übereinstimmungen gefunden hat und danach zur wartezeit springen soll. Ich würde dies mit einer variablen die hochgezählt wird machen, weiß aber leider nicht wie das praktisch aussehen müsste.

PS:
Danach habe ich aus der Liste einen Befehl umbenannt, sodass nur 3 übereinstimmungen sind. Leider bringt er mir nicht die gewünschte Reaktion.
Damit meinte ich die von mir eingesetzte MsgBox.
 

Neue Beiträge

Zurück