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 Batch: 2 Wörter mit findstring aus txt file suchen und in richtiger Reihenfolge abspeichern

Mitglied: Parsoleathi

Parsoleathi (Level 1) - Jetzt verbinden

02.10.2019 um 23:24 Uhr, 192 Aufrufe, 5 Kommentare

Hallo zusammen,

ich bin die letzten Tage ständig in eurem Forum, konnte aber noch nicht das richtige für mich übertragen. Außerdem bin ich keine Programmiererin (wäre es aber gern) und konnte mit den verlinkten älteren posts leider nicht viel anfangen.

Ich habe nun folgendes Problem:

Ich möchte gern eine Batch Datei erstellen, die mir eine Arbeit erleichtern soll.
Sie soll zwei Wörter aus einer Textdatei heraussuchen und in der gleichen Reihenfolge in eine weitere Textdatei speichern.

Urspung Textdatei:

PostalCode==77807
City==Bryan
Country==USA
State==TX

PostalCode==7620001
City==Santiago
Country==Chile
State==


Als Ausgabe möchte ich:

PostalCode==77807
City==Bryan
______________________
PostalCode==7620001
City==Santiago
______________________
usw.


Ich habe es bisher geschafft den Postalcode zu suchen und als Liste in Plz.txt zu speichern und in die Datei City.txt eine Liste mit den Städten.
Anschließend habe ich die Textdateien zu einer zusammengefügt, wobei ich zuerst alle Postalcodes bekam und im Anschluss alle Cities. Das bringt mir leider nichts.

Meine bisheriger "Erfolg" (abgeschrieben und angepasst):


@echo off &
setlocal enabledelayedexpansion

for /f "delims=" %%i in ('findstr /C:"City" Liste.txt') do @(
echo %%i)>>City.txt
)


ich suche nun die Möglichkeit hier noch einen zweiten findstr Befehl einzufügen, der mir die Daten in richtiger Reihenfolge in eine Textdatei speichert.

Alternativ könnte man auch versuchen Zeile 1 aus plz.txt + Zeile1 aus City in Textdokument3.txt zu speichern. Dann Zeile 2 mit Zeile 2, usw.

Dies sind übrigens Beispiele! Die Wörter die ich suche haben hinter dem = eine einzigartige alphanumerische Zahlenfolge.

Ich hoffe ihr könnt mir helfen.
Vielen Dank schonmal im Voraus!
Mitglied: rubberman
LÖSUNG 03.10.2019 um 00:57 Uhr
Wenn's denn Batch sein soll, könnte ich mir vorstellen dass das so in einem Rutsch abgefackelt werden könnte:
01.
@echo off &setlocal
02.
set "srcfile=Liste.txt"
03.
set "dstfile=out.txt"
04.

05.
setlocal EnableDelayedExpansion
06.
<"!srcfile!" >"!dstfile!" (
07.
  for /f %%i in ('type "!srcfile!"^|find /c /v ""') do for /l %%j in (1 1 %%i) do (
08.
    set "line=" &set /p "line="
09.
    if defined line if /i "!line:~,11!"=="PostalCode=" (
10.
      set "zip=!line!"
11.
    ) else if /i "!line:~,5!"=="City=" (
12.
      echo(!zip!
13.
      echo(!line!
14.
      echo(______________________
15.
    )
16.
  )
17.
)
Steffen
Bitte warten ..
Mitglied: Parsoleathi
03.10.2019 um 12:02 Uhr
Hallo Steffen und danke für deine schnelle Antwort!

Ich habe dein Script ausprobiert. Hammer! Danke!
Würdest du mir bitte noch kurz erklären, was die eine oder andere Zeile macht, damit ich es richtig übertragen kann und noch mal etwas lerne.

('type "!srcfile!"^|find /c /v ""')

for /l %%j in (1 1 %%i)

"!line:~,11!"=="PostalCode="

Ich würde mich gern mehr mit Programmierung beschäftigen. In meiner Firma ist SQL wichtig. Ist das für Einsteiger geeignet, oder welche Sprache würdest du empfehlen?

Danke!
Britta
Bitte warten ..
Mitglied: rubberman
LÖSUNG 03.10.2019 um 12:27 Uhr
Hallo Britta

('type "!srcfile!"^|find /c /v ""')
Zähle die Zeilen in der Eingangsdatei und ...
for /l %%j in (1 1 %%i)
... laufe so viele Schleifeniterationen wie es Zeilen in der Datei gibt, um sie einzeln mittels SET /P der Variablen line zuzuweisen.

"!line:~,11!"=="PostalCode="
Gehört zum IF Statement. Wenn die ersten 11 Zeichen der Zeile gleich dem String PostalCode= sind, dann...

Ich würde mich gern mehr mit Programmierung beschäftigen. In meiner Firma ist SQL wichtig. Ist das für Einsteiger geeignet, oder welche Sprache würdest du empfehlen?
SQL Scripting ist dann zu empfehlen, wenn du es brauchst. Du kannst damit aber nicht mehr tun, als auf Datenbankinhalte zuzugreifen. Ansonsten kann ich dir eigentlich nur raten dich nicht mehr mit Batch zu beschäftigen. Das stirbt mit Dinosaurier wie mir aus. Was du statt dessen lernen solltest, hängt hochgradig davon ab was du mittelfristig für einen Zweck damit verfolgen willst und welche Sprachsyntax dir liegt. Die Frage nach der geeigneten Sprache für dich persönlich lässt sich also ohne halbseitiges Essay deinerseits leider nicht mal im Ansatz beantworten.

Steffen
Bitte warten ..
Mitglied: Parsoleathi
03.10.2019 um 13:01 Uhr
Hi Steffen,

vielen Dank für deine Erklärungen und Tipp bzgl der Sprache.
Ich werde es mir durch den Kopf gehen lassen und mir verschiedene Möglichkeiten ansehen.

Dank dir habe ich jedenfalls jetzt eine tolle Liste und muss nicht durch 2000Ordner und Dateien klicken!

Vielen Dank Batch-Dino
Bitte warten ..
Mitglied: rubberman
03.10.2019 um 14:54 Uhr
Wenn es dir hauptsächlich um das Schreiben von Scripts geht, die dir durch Automation von stupiden Aufgaben das Daily Business etwas erleichtern sollen, dann ist unter Windows die PowerShell zum Quasi-Standard herangewachsen und hat Batch aus dieser Rolle verdrängt. Sollte an dieser Stelle vielleicht nicht unerwähnt bleiben. Sie bietet dir die Möglichkeit auf alles was das .NET Framework mitbringt zuzugreifen und verdient das Wort "Power" im Name zu Recht. Allerdings ist die typische PowerShell Syntax mit nichts wirklich vergleichbar, was nicht hilfreich ist wenn du mal auf eine andere Sprache umsteigst und du auf Gelerntes zurückgreifen willst.

Steffen
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Textdatei (.txt) Wort für Wort auslesen per batch (Spaltenweise)

Frage von pdiddoBatch & Shell1 Kommentar

Hi, ich habe eine Textdatei (.txt). Diese hat mehrere Zeilen. Ich möchte diese gerne Spalte für Spalte auslesen, sodass ...

Batch & Shell

Wlan-adapter such algorithmus in batch

gelöst Frage von TicoWriteBatch & Shell7 Kommentare

Hallo zusammen, Ich möchte einen Wlan-adpater such algorithmus in batch erstellen, dazu fehlt mir aber der befehl in Dos. ...

Batch & Shell

Batch : TXT-Datei auslesen

gelöst Frage von Newplay123Batch & Shell20 Kommentare

Hallo, ich habe eine Textdatei mit dem Inhalt " "Test" ". Also die zweiten Anführungszeichen sind auch mit in ...

Batch & Shell

Batch - .csv to .txt

gelöst Frage von freshman2017Batch & Shell11 Kommentare

Hallo Ihr, ich habe da nochmal eine leichte kurze Frage, vielleicht hat da jemand ein Code für mich. Folgende ...

Neue Wissensbeiträge
Grafik

Gute Spiele aus der Ubuntu Repository: SuperTuxKart

Information von NetzwerkDude vor 6 StundenGrafik1 Kommentar

Fall jemand die Firmenpolicy hat das man Linux Software nur aus dem default Repository installieren kann: Ich habe festgestellt ...

Datenschutz
Im Zweifel ist die Cloud immer unsicher
Information von certifiedit.net vor 7 StundenDatenschutz8 Kommentare

Hallo, wie schon mehrmals angesprochen, egal, womit der Dienst wirbt, im Zweifel ist es in der Cloud immer unsicher(er) ...

Entwicklung

Neu im TickX - Das neue Zusatzmodul Resourcen Syncronization

Tipp von TickXmedia-service vor 10 StundenEntwicklung1 Kommentar

Mit der aktuellen TickX Version 3.2 haben wir wieder zahlreiche Verbesserungen und Anpassungen im TickX vorgenommen. Das neue TickX-Modul ...

MikroTik RouterOS

Dynamische VLAN Zuweisung für WLAN (u. LAN) Clients mit Mikrotik

Anleitung von aqui vor 4 TagenMikroTik RouterOS2 Kommentare

1. Allgemeine Einleitung: Das folgende Tutorial gibt einen Überblick über die dynamische VLAN Zuweisung von WLAN und LAN Clients ...

Heiß diskutierte Inhalte
Ubuntu
Linux Ubuntu VNC IP
Frage von 141835Ubuntu61 Kommentare

Wie finde ich bei Linux Ubuntu die IP-Adresse vom VNC Server heraus???

Netzwerke
VPN auf Firmennetzwerk (Festplatten, Computer) einrichten, aber wie?
Frage von 81083Netzwerke34 Kommentare

Hallo, es ist ein Bisschen frustrierend. Wir haben einen 2012 R2 Server, eine Fritzbox und etwa 10-12 PC die ...

Hyper-V
Hyper-V-Host rebootet - einige wenige Gäste haben danach Ping-Zeiten von über 400ms!
Frage von DerWoWussteHyper-V20 Kommentare

Moin an alle Hyper-V Admins! Hat jemand außer mir schon einmal Folgendes erlebt? Hyper-V auf Server 2019. Server startet ...

Windows Installation
Netzwerkregistrierung mit regsvr32 über UNC Netzwerkpfad ohne Fehlermeldung gescheitert
Frage von RycoDePsycoWindows Installation18 Kommentare

Hallo, ich habe ein Problem und weiß nicht genau woran dies liegen kann. Es gibt ein Server (DomänenController) und ...