Top-Themen

Aktuelle Themen (A bis Z)

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 Bestimmten Inhalt aus Textdatei auslesen und in andere Textdatei schreiben

Mitglied: fireron

fireron (Level 1) - Jetzt verbinden

07.09.2010 um 15:21 Uhr, 6347 Aufrufe, 8 Kommentare

Hallo Zusammen,

ich bin hier neu und habe bisher keinerlei Ahnung von VBS. Habe bei google schon geschaut, aber bisher überhaupt nichts gefunden.

Es geht um folgendes:

Ich habe eine Textdatei A.txt

Der Inhalt von A.txt sieht so aus (mal mit umbruch mal ohne):

<Login_name="Anton"><geschlecht="m">
<Login_name="Berta"><geschlecht="w">
<Login_name="Caesar"><geschlecht="m">
<Login_name="Dora"><geschlecht="w">

Ich möchte nun eine VBS-Datei erstellen, die jeweils nur die Login_Namen ausliest (also Anton, Berta, Caesar und Dora); ohne Anführungszeichen und diese dann in eine Textdatei B.txt schreibt.

Der Inhalt in B.txt soll dann so aussehen:

Anton
Berta
Caesar
Dora

Mit welchen Befehlen kann ich das realisieren? Wie kann ich dem Programm sagen, dass es speziell nach "<Login_name=" suchen soll und dann bis zum nächsten Anführungszeichen sich die Namen merkt. Das macht auf diese Weise schon Sinn, da die Namen unterschiedlich lang sein können. Natürlich habe den Inhalt aus A.txt gekürzt. Da stehen natürlich noch andere Dinge drin.

Der Ablauf lautet wie folgt:

Springe zu "<Login_name="
Nehme jeden Buchstaben bis zum nächsten "
Schreibe den Namen in B.txt
Wiederhole solange bis A.txt komplett durchsucht wurde

Ich habe schon nach befehlen gesucht aber ich kann damit überhaupt nichts anfangen. Ich möchte hier nicht nach komplettten Quellcodes fragen, lediglich nach den Befehlen, die ich brauche.

Vielen Danke schonmal!

MfG
Fireron
Mitglied: Fitzcarraldo
07.09.2010 um 15:36 Uhr
Zitat von fireron:
Wie kann ich dem Programm sagen, dass es speziell nach "<Login_name="
suchen soll und dann bis zum nächsten Anführungszeichen sich die Namen merkt.
Hier sollten Dir Reguläre Ausdrücke weiterhelfen können. Über Google landet man Treffer mit dem Suchbegriff "regex" oder "regexp".

Grüße,
Fitz
Bitte warten ..
Mitglied: 76109
07.09.2010 um 18:51 Uhr
Hallo Fireron!

Versuchs mal mit diesem VB-Script:
01.
Const TextImport = "E:\Test\Import.Txt" 
02.
Const TextExport = "E:\Test\Export.Txt" 
03.
 
04.
Dim RE, Matches, Fso, ImportFile, ExportFile, Text 
05.
 
06.
Set RE = New RegExp 
07.
Set Fso = CreateObject("Scripting.FileSystemObject") 
08.
     
09.
Set ImportFile = Fso.OpenTextFile(TextImport) 
10.
Set ExportFile = Fso.CreateTextFile(TextExport) 
11.
     
12.
Text = ImportFile.ReadAll:  ImportFile.Close 
13.
     
14.
With RE 
15.
   .Global = True 
16.
   .IgnoreCase = True 
17.
   .Pattern = "<Login_name=""(\w+)"">" 
18.
End With 
19.
     
20.
For Each Matches In RE.Execute(Text) 
21.
    If Matches.SubMatches.Count = 1 Then ExportFile.WriteLine Matches.SubMatches(0) 
22.
Next 
23.
     
24.
ExportFile.Close
Die Pfadangaben entsprechen anpassen.

Die Login-Namen dürfen nur alphabetische Zeichen [A-Z] [a-z] [0-9] und Unterstrich enthalten und die Export-Datei wird überschrieben, sofern diese bereits existiert.

Gruß Dieter
Bitte warten ..
Mitglied: fireron
10.09.2010 um 08:12 Uhr
Hallo Dieter,

vielen lieben Dank für das VB-Skript! Echt super, ich habe das Skript angepasst und es funktioniert!

Ich danke dir vielmals!

Viele Grüße,
Tim
Bitte warten ..
Mitglied: 76109
10.09.2010 um 08:34 Uhr
Hallo Tim!

Gern geschehen Freut mich, wenn's funktioniert.

Den Thread könntest Du noch auf gelöst setzen

Gruß Dieter
Bitte warten ..
Mitglied: fireron
10.09.2010 um 08:35 Uhr
Nicht ganz. Eine Frage habe ich noch. Wenn ich zum Beispiel möchte, dass folgendes in der Export.txt steht:

(Die Sternchen habe ich nur wegen der Übersichtlichkeit eingefügt; ich meine den Text zwischen den Sternchen)

*
Dies ist die Export.txt. Hier sind alle Benutzer aufgeführt.
Login:Anton
Login:Berta
Login:Caesar
Login:Dora
Das waren die Loginnamen aller Benutzer.
*

Wie kann ich einmalig Text vor und nach den Namen (also ohne Schleife) schreiben und wie kann ich vor und nach jeden Namen Text (mit Schleife) schreiben?

Viele Grüße,
Tim
Bitte warten ..
Mitglied: 76109
10.09.2010 um 09:19 Uhr
Hallo Tim!

Das geht so:
01.
Const TextImport = "E:\Test\Import.Txt" 
02.
Const TextExport = "E:\Test\Export.Txt" 
03.
 
04.
Dim RE, Matches, Fso, ImportFile, ExportFile, Text 
05.
 
06.
Set RE = New RegExp 
07.
Set Fso = CreateObject("Scripting.FileSystemObject") 
08.
     
09.
Set ImportFile = Fso.OpenTextFile(TextImport) 
10.
Set ExportFile = Fso.CreateTextFile(TextExport) 
11.
     
12.
Text = ImportFile.ReadAll:  ImportFile.Close 
13.
     
14.
With RE 
15.
   .Global = True 
16.
   .IgnoreCase = True 
17.
   .Pattern = "<Login_name=""(\w+)"">" 
18.
End With 
19.
     
20.
ExportFile.WriteLine "Dies ist die Export.txt. Hier sind alle Benutzer aufgeführt." 
21.
 
22.
For Each Matches In RE.Execute(Text) 
23.
    If Matches.SubMatches.Count = 1 Then ExportFile.WriteLine "Login: " & Matches.SubMatches(0) 
24.
Next 
25.
   
26.
ExportFile.WriteLine "Das waren die Loginnamen aller Benutzer." 
27.
   
28.
ExportFile.Close
Texte können einfach mit dem Verkettungsoperator & zusammengefügt werrden z.B. "Text1" & "Text2" & "Text3" usw.

Gruß Dieter
Bitte warten ..
Mitglied: fireron
10.09.2010 um 11:21 Uhr
Dieter, ich danke dir vielmals!

Ein schönes Wochende wünsche ich dir!

Gruß Tim
Bitte warten ..
Mitglied: 76109
10.09.2010 um 12:19 Uhr
Hallo Tim!

Zitat von fireron:
Dieter, ich danke dir vielmals!
Gern geschehen
Ein schönes Wochende wünsche ich dir!
Danke, dass wünsche ich Dir auch

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Einen bestimmten Teil einer Textdatei auslesen

gelöst Frage von Focus1610Batch & Shell5 Kommentare

Hallo, ich brauche mal einen Denkanstoß. Ich bekomme per FTP von einem Kunden täglich mehrere Textdateien. Diese haben unterschiudlich ...

Batch & Shell

Bestimmte Zeile einer Textdatei mit Batch auslesen

gelöst Frage von PinkFLuffyUnicornBatch & Shell2 Kommentare

Hi, ich habe ein kleines Batch Script, welches mir den Status der Firewall ausgeben soll(ob an oder aus) der ...

Batch & Shell

Batch - Ordnerstruktur bis bestimmte Anzahl von Unterverzeichnisse auslesen und in Textdatei schreiben

gelöst Frage von BlattlausOGBatch & Shell2 Kommentare

Hallo zusammen, da ich länger nicht mehr hier im Forum war ist es längst überfällig wieder einmal eine Frage ...

Batch & Shell

Mittels Batch bestimmte Information aus unbekannter Textdatei auslesen und in XML-Datei schreiben

gelöst Frage von tardezyxBatch & Shell3 Kommentare

Hallo, es sind innerhalb eines Verzeichnisses sehr viele Unterordner vorhanden, in denen sich jeweils eine Textdatei befindet, deren Strukturen ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 15 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 TagHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL18 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless17 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Hyper-V
HyperV DC + DNS + AC
gelöst Frage von HardstylesHyper-V14 Kommentare

Hallo kann mir jemand sagen wieso meine Domänen Computer kein Internetzugang erhalten? Ich hab hier ein Server wo die ...