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

Per Batch eine bestimmte Zeichenfolge auslesen

Frage Entwicklung Batch & Shell

Mitglied: ClownUser

ClownUser (Level 1) - Jetzt verbinden

10.09.2010, aktualisiert 17:08 Uhr, 3818 Aufrufe, 9 Kommentare

Guten Abend zusammen.

Ich habe sehr lange nach der Lösung zu meinem Problem gesucht. Dann bin ich au dieses Forum hier gestossen.
Folgendes:

Ich habe eine .txt Datei. Dort steh ganz viel wirres Zeug drin. Und immer wieder versteckt sich in diesem Wirrwar eine Zeichenfolge, die ich in eine Neue .txt Datei kopieren möchte.
Die Zeichenfolge hat immer 6 Zeichen (Zahlen und Buchstaben) und ist links und rechts mindestens von einem Leerschlag umgeben.
Es sollten nur diese Zeichenfolgen ausgelesen werden, die keine kleinen Buchstaben beinhalten. (Oder kann ich per Batch die kleinen Buchstaben zu grossen machen?)
In der neuen Datei sollten die Zeichenfolgen untereinander aufgelistet werden.

Beispiel:

Bestehende Datei:
o 6080.75s 135.00 0.00
o 6080.75s QW309P 0.00 0.00
o 61.75s 0.00 0.00
AK
v 0.00s 0.00 0.00
v 6152.50s 0.00 56HU7E 0.00
v 6152.50s 235.00 0.00
v 6095.75s 4561Z9 235.00 -15.00


Neue erstellte Datei:
QW309P
56HU7E
4561Z9


Kann mir jemand weiterhelfen?
Liebe Grüsse.
ClownUser
Mitglied: bastla
10.09.2010 um 17:03 Uhr
Hallo ClownUser und willkommen im Forum!

Dein Beispiel ist etwas widersprüchlich - wenn nur diese Zeichenfolgen ausgelesen werden, die keine grossen Buchstaben beinhalten, dürfte in der neu erstellten Datei eigentlich keine einzige Zeile stehen ...

Grüße
bastla
Bitte warten ..
Mitglied: ClownUser
10.09.2010 um 17:10 Uhr
Hallo bastla.

Vielen Dank für deine schnelle Antwort.

Genau wie du sagtest. Ich habe natürlich einen Schreibfehler gemacht.
Die neue Datei sollte nur grosse Buchstaben.

lg
Bitte warten ..
Mitglied: bastla
10.09.2010 um 17:13 Uhr
Hallo ClownUser!

String-Verarbeitung ist keine typische Stärke von Batch - daher würde ich hier zu VBS (oder einer Portierung von "sed") greifen - etwa:
01.
Ein = "D:\Deine Datei.txt" 
02.
Aus = "D:\Deine neue Datei.txt" 
03.
 
04.
Set fso = CreateObject("Scripting.FileSystemObject") 
05.
T = fso.OpenTextFile(Ein).ReadAll 
06.
 
07.
Set rE = New RegExp 
08.
rE.Global = True 
09.
rE.Pattern = "\b[A-Z0-9]{6}\b" 
10.
 
11.
Set A = fso.CreateTextFile(Aus) 
12.
Set Matches = rE.Execute(T) 
13.
For Each Match In Matches 
14.
    A.WriteLine Match 
15.
Next 
16.
A.Close
Die entscheidende Zeile 9 bedeutet: Suche alle Zeichenketten, die an einer "Wortgrenze" (inkludiert zB auch Zeilenschaltungen) beginnen ("\b"), danach aus dem Bereich "A-Z" sowie "0-9" genau 6 Zeichen enthalten und mit einer weiteren Wortgrenze enden; wolltest Du tatsächlich verlangen, dass die 6 Zeichen von je zumindest einem Leerzeichen begrenzt sind, wären die beiden "\b" durch Leerzeichen zu ersetzen. Ev weitere erlaubte Zeichen (zB Umlaute) könntest Du einfach zwischen den eckigen Klammern hinzufügen ...

Grüße
bastla
Bitte warten ..
Mitglied: ClownUser
10.09.2010 um 17:59 Uhr
Nochmals danke für deine Antwort. Jetzt bin ich aber gerade überfordert. Ich kenne mich leider nur mit Batch Dateien ein Bisschen aus. VBA wüsste ich nicht einmal, was ich mit dem Code machen müsste, oder wie man so eine Datei ausführt...

soory..

Ist mein Vorhaben schwer erreichbar mit Batch?
Ist VBA leicht zu erlernen?

Lg
Bitte warten ..
Mitglied: bastla
10.09.2010 um 18:07 Uhr
Hallo ClownUser!
Ist mein Vorhaben schwer erreichbar mit Batch?
Eher ja ...
Ist VBA leicht zu erlernen?
Kommt darauf an, wen Du fragst ...

Es geht hier aber um VBS (obwohl das auch über VBA funktionieren würde) - daher einfach das Script mit dem Dateityp ".vbs" (zB als "D:\HolMirDieStrings.vbs") speichern (falls Du den Windows-Editor "notepad" verwendest, darauf achten, dass als Dateityp beim Speichern "Alle Dateien" eingestellt ist, da ansonsten ein ".txt" angefügt wird) und per Doppelklick oder mit der Zeile
cscript //nologo D:\HolMirDieStrings.vbs
(es würde, da keine Meldungen ausgegeben werden, sogar
D:\HolMirDieStrings.vbs
genügen) aus einem Batch / von der Kommandozeile starten ...

Grüße
bastla
Bitte warten ..
Mitglied: ClownUser
10.09.2010 um 18:30 Uhr
Ich hab das jetzt mit dem .vbs probiert.
Es funktioniert!
Du bist unglaublich!

Ignoriert dieses Script jetzt alle Zeichenfolgen mit kleinen Buchstaben, oder wandelt es die kleinen in grosse um?

Vielen vielen Dank für deine Hilfe.

lg
Bitte warten ..
Mitglied: bastla
10.09.2010 um 18:46 Uhr
Hallo ClownUser!
Ignoriert dieses Script jetzt alle Zeichenfolgen mit kleinen Buchstaben, oder wandelt es die kleinen in grosse um?
Derzeit wird ignoriert - wenn umgewandelt werden soll, müssten die Zeile 9 auf
rE.Pattern = "\b[A-Za-z0-9]{6}\b" 
und die Zeile 14 auf
A.WriteLine UCase(Match)
geändert werden.

Grüße
bastla
Bitte warten ..
Mitglied: ClownUser
11.09.2010 um 10:45 Uhr
Alles ganz genau so, wie ich wollte. Hätte nie gedacht, dass das machbar ist..
Noch eine kleine Frage:
Kann ich auch anstatt dem Verzeichnis und dem Dateinamen, eine URL angeben?
Oder sogar mehrere?
z.B. so:

...administrator.de/...&page=104
bis
...administrator.de/...&page=318
?


Liebe Grüsse





Edit: Habe gerade gemerkt, dass die URL's nicht ganz angezeigt werden.
Bitte warten ..
Mitglied: bastla
11.09.2010 um 13:57 Uhr
Hallo ClownUser!

Das Script setzt eine vorhandene Textdatei voraus ...

Welchen Zweck hat denn die ganze Aktion?

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
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
Bestimmte CMD Zeile aus Batch auslesen
gelöst Frage von BatchAnfaenger91Batch & Shell5 Kommentare

Hallo ihr Lieben, habe seit dem neusten Batch Sprache kennengelernt und bin dabei ein Batch Skript zu schreiben ich ...

Batch & Shell
Die Zeichenfolge hat kein Abschlusszeichen - Batch mit mehrzeiligem Powershellbefehl
gelöst Frage von freshman2017Batch & Shell11 Kommentare

Hallo, leider finde ich hier den Fehler nicht, in der Doku finde ich auch nichts. Wer kann mir auf ...

Batch & Shell
Textzeilen mit einem bestimmten Stichwort per Batch auslesen
gelöst Frage von VorlonBatch & Shell5 Kommentare

Guten Morgen an alle die mehr vom Batch-Skripting verstehen als ich! ;-) Ich bin mal wieder an einem Punkt ...

Neue Wissensbeiträge
Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 StundeWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 StundeWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 13 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 20 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement17 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...