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, 6332 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

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 ...

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 ...

Neue Wissensbeiträge
Vmware
VMware Update für den ESXi 5.5 verfügbar
Information von sabines vor 2 StundenVmware

Nach dem ganzen Hickhack um Update mit Microcode Anpassungen und Rückzug, gibt es nun für den ESXi 5.5 ein ...

CPU, RAM, Mainboards

Meltdown und Spectre: Intel zieht Microcode-Updates für Prozessoren zurück

Information von keine-ahnung vor 6 StundenCPU, RAM, Mainboards4 Kommentare

Moin, extrem lutztig. Nur gut, dass ich noch nicht beim Probanden-Bingo mitgemacht habe :-) LG, Thomas

Router & Routing
PfSense als Addon auf QNAP
Information von magicteddy vor 20 StundenRouter & Routing3 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 1 TagDatenschutz1 Kommentar

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement26 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Server
TEMP-Profile
gelöst Frage von Forseti2003Windows Server21 Kommentare

Guten Morgen, wer kennt sie nicht, die lieben Temporären Benutzerprofile, vorallem immer dann, wenn man sie am wenigsten braucht. ...

Multimedia & Zubehör
Welches Tablet für die Verkäufer?
Frage von Hendrik2586Multimedia & Zubehör15 Kommentare

Guten Morgen meine Lieben, vielleicht könnt ihr mir ja helfen. Es geht um unsere Außendienstmitarbeiter /Verkäufer. Sie sollen demnächst ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...