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

Via VBScript 2 TXT Dateien vergleichen und Unterschied in dritte TXT schreiben

Frage Entwicklung VB for Applications

Mitglied: manuel33

manuel33 (Level 1) - Jetzt verbinden

10.05.2010, aktualisiert 25.05.2010, 6480 Aufrufe, 4 Kommentare

Hallo an alle die von VBS mehr verstehen als ich.

Meine Frage:
ich habe 2 *.TXT Dateien

1 TXT stehen verschiedene Benutzernamen untereinander z.b.:

Klaus
lars
robert
claudia


2 TXT stehen aus AD ausgelesenen TXT Benutzer untereinander z.b.:

Klaus
robert
Lars

In TXT Nr. 3 oder auch in eine Msg Box sollen nur die Namen, die in der 2 TXT Datei fehlen hineingeschrieben werden.

Mein Ansatz teilweise im Netz gefunden und angepasst, leider werden damit nur gleiche Namen in ein TXT File geschrieben.
Auch durch Anpassungen und Veränderungen bekomme ich kein entsprechendes Ergebnis.
Ich hoffe Ihr könnt mir helfen, ist wahrscheinlich nur eine Kleinigkeit.
01.
Dim WshShell, fso 
02.
Dim File1, File2, Filegesamt 
03.
Dim Datei1, Datei2, Dateigesamt 
04.
Dim Zeile1 
05.
 
06.
Set WshShell = CreateObject("WScript.Shell")  
07.
set fso = CreateObject("Scripting.FileSystemObject") 
08.
 
09.
Datei1=("datei1.txt") 
10.
Datei2=("datei2.txt") 
11.
Dateigesamt=("dateigesamt.txt") 
12.
 
13.
set File1 = fso.OpenTextFile(Datei1,1, true)  
14.
set Filegesamt = fso.OpenTextFile(Dateigesamt,2, true) 
15.
 
16.
Do While Not LCase(File1.AtEndOfStream) 
17.
	Zeile1 = LCase(Trim(File1.Readline)) 
18.
	Set File2 = fso.OpenTextFile(Datei2,1, true) 
19.
 
20.
Do While not LCase(File2.AtEndOfStream) 
21.
	Zeile2 = LCase(Trim(File2.Readline)) 
22.
	if Zeile1 = Zeile2 then Filegesamt.writeline Zeile1 
23.
Loop 
24.
File2.Close 
25.
Loop 
26.
File1.Close 
27.
Filegesamt.Close 
28.
WSHShell.run "dateigesamt.txt"
[Edit Biber] Codetags ergänzt. [/Edit]
Mitglied: TsukiSan
10.05.2010 um 05:03 Uhr
Hallo manuel33,

benutze bitte die Formatierungshilfen, um Codes besser darzustellen hier im Forum.

Um auf deine Frage zu antworten.
Ich hatte mal ein ähnliches Script, dass etwas anders aussieht, als deines.
Dies soltle aber prinzipiell deine Anforderungen erfüllen.
01.
Dim FSO , MyTXT1, MyTXT2 , MyTXT3 
02.
Dim MeineDatei1, MeineDatei2 ,MeineDatei3 
03.
Dim Datei1 , Datei2 , Datei3 
04.
Dim Neuanlegen 
05.
 
06.
Datei1 = "D:\Text1.txt" 
07.
Datei2 = "D:\Text2.txt" 
08.
Datei3 = "D:\Text3.txt" 
09.
 
10.
Set FSO = createobject("Scripting.FileSystemObject") 
11.
 
12.
Set MeineDatei1 = FSO.OpenTextFile(Datei1, 1) 
13.
	MyTXT1 = split(MeineDatei1.ReadAll,vbcrlf) 
14.
MeineDatei1.Close 
15.
 
16.
Set MeineDatei2 = FSO.OpenTextFile(Datei2, 1) 
17.
	MyTXT2 = split(MeineDatei2.ReadAll,vbcrlf) 
18.
MeineDatei2.Close 
19.
 
20.
If Ubound(MyTXT1) > ubound(MyTXT2) Then 
21.
	for i = 0 to Ubound(MyTXT1) 
22.
		Neuanlegen = 1 
23.
		for ii = 0 to Ubound(MyTXT2) 
24.
			if MyTXT2(ii) = MyTXT1(i) then  
25.
				Neuanlegen = 0 
26.
			end if 
27.
		next 
28.
		If Neuanlegen = 1 then 
29.
			If MyTXT3 = "" then 
30.
				MyTXT3 = MyTXT1(i) 
31.
			Else 
32.
				MyTXT3 = MyTXT3 & vbcrlf & MyTXT1(i) 
33.
			End If 
34.
		End If 
35.
	next 
36.
 
37.
Else 
38.
	for i = 0 to Ubound(MyTXT2) 
39.
		Neuanlegen = 1 
40.
		for ii = 0 to Ubound(MyTXT1) 
41.
			if MyTXT1(ii) = MyTXT2(i) then  
42.
				Neuanlegen = 0 
43.
			end if 
44.
		next 
45.
		If Neuanlegen = 1 then 
46.
			If MyTXT3 = "" then 
47.
				MyTXT3 = MyTXT2(i) 
48.
			Else 
49.
				MyTXT3 = MyTXT3 & vbcrlf & MyTXT2(i) 
50.
			End If 
51.
		End If 
52.
	next 
53.
End If 
54.
 
55.
If Not MyTxt3 = "" then 
56.
	Set MeineDatei3 = FSO.CreateTextFile(Datei3, true) 
57.
	MeineDatei3.Write (MyTXT3) 
58.
	MeineDatei3.Close 
59.
End If
Viele Grüße
Tsuki
Bitte warten ..
Mitglied: LotPings
10.05.2010 um 07:00 Uhr
Hallo Manuel,

wenn es nicht unbedingt vbscript sein muss,

tut es auch dieser Einzeiler auf der Kommandozeile/Batch:
findstr /I /V /G:User-AD.txt User.txt >User-NEU.txt
Gruß
LotPings
Bitte warten ..
Mitglied: manuel33
10.05.2010 um 19:56 Uhr
Hallo LotPings,

da ich alles andere auch mit VBscript erstellt habe, wollte ich bei diesem Thema nicht wechseln.
Danke trotzdem für den Tipp

vG

manuel33
Bitte warten ..
Mitglied: manuel33
10.05.2010 um 20:01 Uhr
Hallo Tsuki,

danke für deine Hilfe, das ist genau das was ich gesucht habe.

vG

manuel33
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...