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

Wert aus Textzeile prüfen und ganze Zeile in neue Textdatei verschieben

Frage Entwicklung Batch & Shell

Mitglied: marsl84

marsl84 (Level 1) - Jetzt verbinden

23.12.2010 um 10:46 Uhr, 3991 Aufrufe, 5 Kommentare

Hallo alle zusammen,

ich habe mal wieder ein Problem, bei welchen mir keine Lösung einfällt und ich auch keine finden kann

Ich möchte aus einer Textdatei jede Zeile einzeln auslesen, den 3. Wert überprüfen und wenn dieser 3. Wert der Bedienung entspricht, die ganze Zeile in Textdatei A schreiben, wenn nicht, die ganze Zeile in Textdatei B schreiben.

Mein Lösungsansatz bis jetzt:

01.
 
02.
for /f "tokens=3 delims=!" %%m in (Textdatei.txt) do ( 
03.
if %%m == bedinung ( 
04.
echo %%m >> textdatei_a.txt 
05.
) else ( 
06.
echo %%m >> textdatei_a.txt 
07.
08.
 
Aber leider schreibt er mir hier natürlich nur das ausgewertete Token in die neuen Textdateien. Ich könnte jetzt alle tokens auswerten (zB: tokens=1-10) und dann alle Variablen in die Textdatei schreiben (echo %%m %%n ... >> textdatei_a.txt) aber es sind über 50 Werte in der auszuwertenden Textdatei. Das geht ja nicht wenn ich mich nicht irre oder?!

Weiß jemand Rat?

Vielen Dank schon im voraus.

Grüße,
Marsl
Mitglied: bastla
23.12.2010 um 11:19 Uhr
Hallo marsl84!

Wenn der zu prüfende Wert "speziell" genug wäre (und daher nicht auch in einem anderen "token" vorkommen kann) sollte sich das mit
01.
findstr "!bedinung!" Textdatei.txt>>textdatei_a.txt 
02.
findstr /v "!bedinung!" Textdatei.txt>>textdatei_b.txt
lösen lassen - ansonsten könntest Du geschachtelte "for"-Schleifen versuchen:
01.
for /f "delims=" %%a in (Textdatei.txt) do ( 
02.
    for /f "tokens=3 delims=!" %%m in (%%a) do ( 
03.
    if %%m==bedinung ( 
04.
        echo %%a >> textdatei_a.txt 
05.
    ) else ( 
06.
        echo %%a >> textdatei_b.txt 
07.
08.
)
Grüße
bastla

P.S.: Ich wollte mit der Schreibweise "Bedingung" nicht noch eine Variante ins Spiel bringen - "Bedienung" und "bedinung" sollten für den Anfang genügen ...
Bitte warten ..
Mitglied: Biber
23.12.2010 um 11:24 Uhr
Moin marsi84,

du könntest eine äußere FOR/F-Anweisung zusätzlich vorschalten und dort die ganze Zeile (also FOR /F "delims="...) transportieren.

Sinngemäß und ungetestet:
01.
FOR /F "delims=" %%i in Textdatei.txt DO ( 
02.
    for /f "tokens=3 delims=!" %%m in ("%%i") do ( 
03.
            if "%%m" == "bedinung" ( 
04.
                 echo %%i>> textdatei_a.txt 
05.
           ) else ( 
06.
                echo %%i>> textdatei_b.txt 
07.
08.
)
Allerdings... ich würde erstmal prüfen, ob du es nicht einfacher mit "FindStr /i "bedingung" textdatei.txt" bzw. "FindStr /i /v "bedingung" textdatei.txt" gebacken bekommst.

Grüße
Biber
Bitte warten ..
Mitglied: marsl84
23.12.2010 um 12:26 Uhr
Hallo,

erstmal vielen Dank für eure Antworten

ich hab jetzt die Möglichkeit mit der zusätzlichen FOR Schleife ausprobiert. An sich scheint Sie zu funktionieren, problem ist nur, dass die Zeile in der 2. Schleife ohne Tokens ankommt?! Die ! sind verschwunden?!

Jemand eine Idee?

Danke und Grüße,
Marsl
Bitte warten ..
Mitglied: bastla
23.12.2010 um 12:47 Uhr
Hallo marsl84!

Wenn bei Dir auch in der ersten Schleife "delims=" steht, ist das eigentlich nur mit einer Verwendung von "setlocal enabledelayedexpansion" zu erklären ...

Grüße
bastla
Bitte warten ..
Mitglied: marsl84
23.12.2010 um 13:06 Uhr
Ja, das kann sein, weil ich mit "setlocal enabledelayedexpansion" arbeite. Aber egal, ich habe es jetzt mit findstr gelöst. ;)

Funktioniert super.

Vielen Dank euch und ein frohes Fest!!!!

Grüße,
Marsl
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Mittels Batch jede Zeile einer Textdatei prüfen
gelöst Frage von Peter32Batch & Shell4 Kommentare

Hallo, ich habe eine Textdatei (Projekte.txt), die etwa so aufgebaut ist Nun möchte ich gerne, dass ein Batch-Script jede ...

Batch & Shell
Textdatei Zeile für Zeile auslesen
Frage von RIPUEDBatch & Shell

Hallo, ich würde gerne mit einem Batch-Skript Zeilen aus einer Textdatei einzeln und nacheinander auslesen und diese dann nach ...

Batch & Shell
Text in neue 1. Zeile in Textdatei einfügen
Frage von FuxxLiBatch & Shell4 Kommentare

Hallo, Folgender Sachverhalt. Die Warenwirtschaft wirft ein Exportfile mit einer Kopfzeile und danach den Datensätzen aus. Für die Weiterverarbeitung ...

Ausbildung
Nummerierung jeder Zeile in einer Textdatei
gelöst Frage von MihailAusbildung4 Kommentare

Guten Tag sehr geehrten Admins, Ich versuche seit einer Weile, als absoluter Anfänger eine batch-Datei zu finden die, wie ...

Neue Wissensbeiträge
DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 3 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 6 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement17 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...