Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Suche VB Script

Frage Entwicklung VB for Applications

Mitglied: dekstar

dekstar (Level 1) - Jetzt verbinden

02.02.2009, aktualisiert 14:34 Uhr, 4535 Aufrufe, 7 Kommentare

Wie kann ich mit vbscript eine *.ini auf den Inhalt prüfen und wenn abweichung von template.ini mit den daten von der template.ini befüllen lassen?

Hallo an alle VBscripter

Also hier nochmal etwas ausführlicher beschrieben.

Schritt1: Ich möchte gerne den Inhalt einer example.ini mit den Inhalt einer template.ini vergleichen.

Schritt2: Falls keine Abweichung besteht => keine Aktion

Schritt3: Falls Abweichung oder Daten fehlen => diese von der template.ini in die example.ini schreiben, speichern und beenden.

Ich habe schon sehr intensiv nach einem passend Script gesucht jedoch ohne Erfolg (ich glaube fast das wird eine harte nuss sein)

Also ich bin für jegliche Anregungen oder Hilfestellungen sehr dankbar und verbleibe mit freundlichen Grüßen

script for the tip
Mitglied: bastla
02.02.2009 um 15:41 Uhr
Hallo dekstar und willkommen im Forum!

Meine erste Idee nach Lesen Deines Beitrages war ein Batch (wenn man/frau die paar Zeichen so nennen wollte ):
@copy template.ini example.ini
Danach sind die beiden Dateien sicher gleich.

Da dies vermutlich nicht die gewünschte Lösung ist, solltest Du vielleicht doch etwas deutlicher (am besten mit konkreten Beispielen) illustrieren, was als "Abweichung" gilt und wie "fehlende Daten" ergänzt werden sollten.

Grüße
bastla
Bitte warten ..
Mitglied: 60730
02.02.2009 um 15:44 Uhr
Servus,

  • "muß" es vbs sein - oder gehts auch mit einem banalen .cmd?

Schritt1: Ich möchte gerne den Inhalt einer example.ini mit den Inhalt einer template.ini vergleichen.
soweit klar - wäre FC mein erster Befehl.

Schritt2: Falls keine Abweichung besteht => keine Aktion
soweit klar - wäre FC und Variable %errorlevel% mein zweiter Befehl.

Schritt3: Falls Abweichung oder Daten fehlen => diese von der template.ini in die example.ini schreiben, speichern und beenden.
und da verstehe ich dein Vorhaben nicht - es soll ja nicht Zeilenmäßig ausgetauscht werden, sondern immer der identische Stand vorhanden sein.
Das sollte per Xcopy oder Copy "schneller" gehen.

Gruß


Edit:
Wer in Bastla und Biber Territorium antwortet - sollte früher aufstehen
/Edit
Bitte warten ..
Mitglied: dekstar
02.02.2009 um 15:57 Uhr
hallo erstmal und danke für eure antworten

meine anfrage beruht auf folgendem prinzip.

1.) example.ini hat 200 zeilen

2.) template.ini hat 150 zeilen

3.) bis zur 150 zeile soll der inhalt geprüft und wenn nötig gepatcht werden

4.) ab zeile 151 in der example.ini soll alles so bleiben (daher keine copy funktion möglich)

5.) es kann auch sein dass der angegeben bereich der template.ini nur 5 zeilen code ist dieser in der example.ini zwischen zeile 120-130 liegt und genau dort eine abweichung besteht. nun soll diese abweichung mit der template.ini in übereinstimmung gebracht werden.

sry dass ich mich bei der ersten anfrage nicht klar genug ausgedrückt habe.

lg
Bitte warten ..
Mitglied: bastla
02.02.2009 um 16:55 Uhr
Hallo dekstar!

Dann stellt sich als nächstes die Frage nach dem Aufbau der Datei (bzw, wie die Zuordnung einer Zeile der "template.ini" zur richtigen Zeile der "example.ini" zu erfolgen hat - vielleicht ein Beispiel?).

Weitere Frage: Wenn eine Zeile der "template.ini" in der "example.ini" nicht gefunden wird, soll dann diese Zeile am Ende angefügt werden (und wenn nein, wo sonst)?

Grüße
bastla
Bitte warten ..
Mitglied: dekstar
05.02.2009 um 08:33 Uhr
Also nochmals danke für eure antworten.

Hier nun der aufbau der datei. (ich habe mal als beispiel die services genommen)

Template.ini = services.bak

example.ini = services

final.ini = services.final

Also fangen wir mal an. (es sind nur die zeilen mit sql6 bzw sql9 von bedeutung (ich habe mehr code eingefügt damit der copy befehl klar als nicht gültig geshen wird)

1. ) bitte vergleiche template.ini mit example.ini
hier die wesentlichen codes der einzelnen files

template.ini ab zeile 106
phone            1167/udp                           #Conference calling 
ms-sql-s         1433/tcp                           #Microsoft-SQL-Server  
ms-sql-s         1433/udp                           #Microsoft-SQL-Server  
ms-sql-m         1434/tcp                           #Microsoft-SQL-Monitor 
ms-sql-m         1434/udp                           #Microsoft-SQL-Monitor                 
wins             1512/tcp                           #Microsoft Windows Internet Name Service 
wins             1512/udp                           #Microsoft Windows Internet Name Service 
ingreslock       1524/tcp    ingres 
l2tp             1701/udp                           #Layer Two Tunneling Protocol 
pptp             1723/tcp                           #Point-to-point tunnelling protocol 
radius           1812/udp                           #RADIUS authentication protocol 
radacct          1813/udp                           #RADIUS accounting protocol 
nfsd             2049/udp    nfs                    #NFS server 
knetd            2053/tcp                           #Kerberos de-multiplexor 
man              9535/tcp                           #Remote Man Server 
 
 
**sql9**             7210/tcp # SAP DB 
sql3             7200/tcp # SAP DB 
sapdbni72        7269/tcp # SAP DB 
vmake            7792/tcp # SAP DB
nun der wesentliche code der example.ini ab zeile 106
phone                1167/udp                           #Conference calling 
ms-sql-s             1433/tcp                           #Microsoft-SQL-Server  
ms-sql-s             1433/udp                           #Microsoft-SQL-Server  
ms-sql-m             1434/tcp                           #Microsoft-SQL-Monitor 
ms-sql-m             1434/udp                           #Microsoft-SQL-Monitor                 
wins                 1512/tcp                           #Microsoft Windows Internet Name Service 
wins                 1512/udp                           #Microsoft Windows Internet Name Service 
ingreslock           1524/tcp    ingres 
l2tp                 1701/udp                           #Layer Two Tunneling Protocol 
pptp                 1723/tcp                           #Point-to-point tunnelling protocol 
radius               1812/udp                           #RADIUS authentication protocol 
radacct              1813/udp                           #RADIUS accounting protocol 
nfsd                 2049/udp    nfs                    #NFS server 
knetd                2053/tcp                           #Kerberos de-multiplexor 
man                  9535/tcp                           #Remote Man Server 
 
**sql6**             7210/tcp # SAP DB 
sql3             7200/tcp # SAP DB 
sapdbni72        7269/tcp # SAP DB 
vmake            7792/tcp # SAP DB 
 
catiav5bb        55558/tcp  #Dassault Systemes Communication ports 
catiav5run       55556/tcp  #Dassault Systemes Communication ports 
CATDeviceBroker  55557/tcp  #Dassault Systemes Communication ports
2.) und nun führe änderungsschritte aus
und hier wie es dann auschauen soll die final.ini wieder ab zeile 106

phone                1167/udp                           #Conference calling 
ms-sql-s             1433/tcp                           #Microsoft-SQL-Server  
ms-sql-s             1433/udp                           #Microsoft-SQL-Server  
ms-sql-m             1434/tcp                           #Microsoft-SQL-Monitor 
ms-sql-m             1434/udp                           #Microsoft-SQL-Monitor                 
wins                 1512/tcp                           #Microsoft Windows Internet Name Service 
wins                 1512/udp                           #Microsoft Windows Internet Name Service 
ingreslock           1524/tcp    ingres 
l2tp                 1701/udp                           #Layer Two Tunneling Protocol 
pptp                 1723/tcp                           #Point-to-point tunnelling protocol 
radius               1812/udp                           #RADIUS authentication protocol 
radacct              1813/udp                           #RADIUS accounting protocol 
nfsd                 2049/udp    nfs                    #NFS server 
knetd                2053/tcp                           #Kerberos de-multiplexor 
man                  9535/tcp                           #Remote Man Server 
 
**sql9**             7210/tcp # SAP DB 
sql3             7200/tcp # SAP DB 
sapdbni72        7269/tcp # SAP DB 
vmake            7792/tcp # SAP DB 
 
catiav5bb        55558/tcp  #Dassault Systemes Communication ports 
catiav5run       55556/tcp  #Dassault Systemes Communication ports 
CATDeviceBroker  55557/tcp  #Dassault Systemes Communication ports
Bitte warten ..
Mitglied: dekstar
13.03.2009 um 08:06 Uhr
SO ich habs hinbekommen => traurig war nur das unter allen profis hier keiner mehr lust und laune (das diese nicht fähig waren will ich mir nicht erlauben zu sagen) hatte eventuelle vorschläge zu machen.

ich muß mir noch überlegen ob ich mein script hier posten soll, im endeffekt kam ja nicht wirklich brauchbares zurück => just leech no way

einen kleinen auszug geb ich euch kurz

01.
 
02.
Sub ReplaceServicesEntry(objstrWorkDir, strFindText, strInsert) 
03.
	Dim strLine, i, strText 
04.
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") 
05.
	i = 0  
06.
	strText="" 
07.
	If objFSO.FileExists(strWorkDir) Then 
08.
		Set objFile = objFSO.OpenTextFile(strWorkDir, ForReading) 
09.
		Do Until objFile.AtEndOfStream 
10.
			strLine = objFile.ReadLine 
11.
			i = i + 1 
12.
			If Left(strLine, InStr( strLine, " ")) = Left(strFindText, InStr ( strFindText, " ")) Then  
13.
				strLine =  strInsert 
14.
			End If 
15.
			strText = strText & strLine & VbCrLf 
16.
		Loop 
17.
		objFile.Close 
18.
	Else 
19.
		MsgBox "Die Datei " & strWorkDir & " wurde nicht gefunden." 
20.
	End If 
21.
	Set objFile = objFSO.OpenTextFile(objstrWorkDir, ForWriting) 
22.
	objFile.Write strText 
23.
	objFile.Close 
24.
	Set objFSO = Nothing 
25.
 
26.
End Sub 
27.
 
Bitte warten ..
Mitglied: bastla
13.03.2009 um 09:26 Uhr
Hallo dekstar!

Sorry - hatte den Beitrag aus den Augen verloren; passiert mir zwar eher selten, war aber in diesem Fall leider so ...

Freut mich aber, dass Du das Problem selbst lösen konntest.

Grüße
bastla

P.S.: Eine kurze Erinnerung Deinerseits per PM wäre natürlich auch eine Möglichkeit gewesen, meine Aufmerksamkeit wieder hier her zu lenken ...
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung!

(2)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Outlook & Mail
gelöst Email Anhänge speichern VB Script aber nur bestimmte Dateitypen (Outlook) (4)

Frage von LindeUnimog zum Thema Outlook & Mail ...

VB for Applications
gelöst VB Script rekursiv statt nur ein Ordner (4)

Frage von Saschaaaaa zum Thema VB for Applications ...

VB for Applications
gelöst VB Script nach gefundenem Wort die nächsten 4 Zeichen ersetzten (2)

Frage von deutsch73 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...