lex1987
Goto Top

VB Script Schlagwort suchen und Leerzeile und Text einfügen

Hallo,
ich bräuchte ein VB Script, das schaut ob ein einen Virutelle HW oder Physicalische ist und ob 32 bit oder 64 bit. Danach soll es je nach Version(32 oder 64) die richtige Datei im Ordner Programm Files oder Program Files(x86) öffnen. Und nach einem speziellem Schlagwort suchen und nach diesem eine Leerzeile einfügen und in diese kommt dann ein Satz eingefügt, danach wieder eine Leerzeile erstellt und nochmal ein Satz eingefügt. Wenn diese erledigt ist wird dann noch alles abgespeichert und geschlossen.

Ich bräuchte ganz dringend Hilfe.

Content-ID: 230265

Url: https://administrator.de/contentid/230265

Ausgedruckt am: 26.11.2024 um 09:11 Uhr

colinardo
Lösung colinardo 18.02.2014 aktualisiert um 15:03:00 Uhr
Goto Top
Hallo lex1987, Willkommen im Forum!
Ich bräuchte ganz dringend Hilfe.
wer brauch es hier nicht dringend, und das noch ohne irgendeine Vorarbeit deinerseits...?
Na egal, denke das hier solltest du an deine Bedürfnisse anpassen können:
Dim strPath, strSuchwort
strSuchwort = "Suchmich"  
Set objShell = CreateObject("Wscript.Shell")  
Set fso = WScript.CreateObject("Scripting.Filesystemobject")  

If isVM Then
	If is64Bit Then 
		strPath = objShell.ExpandEnvironmentStrings("%PROGRAMFILES(x86)%") & "\Testordner\test.txt"  
	Else
		strPath = objShell.ExpandEnvironmentStrings("%PROGRAMFILES%") & "\Testordner\test.txt"  
	End If
	arrContent = Split(fso.OpenTextFile(strPath,1).ReadAll(),vbNewLine,-1,1)
	newText = ""  
	For Each line In arrContent
		If InStr(1,line,strSuchwort,1) Then
			neueZeile1 = "BlaBla 1"  
			neueZeile2 = "BlaBla 2"  
			newText = newText & line & vbNewLine
			newText = newText & neueZeile1 & vbNewLine & neueZeile2 & vbNewLine
		Else
			newText = newText & line & vbNewLine
		End If
	Next
	fso.OpenTextFile(strPath,2).Write(newText)
End If


Function is64Bit()
	Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")  
	Set colItems = objWMIService.ExecQuery("Select OSArchitecture from Win32_OperatingSystem")  
	For Each objItem in colItems
		If LCase(objItem.OSArchitecture) = "64-bit" Then  
			is64Bit = True
		Else
			is64Bit = False
		End If 
	Next

End Function

Function isVM()
	Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")  
	Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)  
	
	For Each objItem in colItems
		If InStr(1,LCase(objItem.Model),"virtual",1) Then  
			isVM = True
		Else
			isVM = False
		End if
	Next
End Function
Grüße Uwe
lex1987
lex1987 18.02.2014 um 15:10:14 Uhr
Goto Top
Hallo Uwe,
vielen Danke für dein Script es hat mir wirklich sehr weitergeholfen.