Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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 zum Auslesen eines Stück Textes an einer bestimmten Stelle aus einer txt-Datei

Frage Entwicklung Batch & Shell

Mitglied: oliweb

oliweb (Level 1) - Jetzt verbinden

02.04.2008, aktualisiert 14:30 Uhr, 4144 Aufrufe, 3 Kommentare

Hallo zusammen,
ich bin neu hier und brauche Hilfe bei der Erstellung einer Batchdatei.

Folgendes Problem:
Aus einer Quelldatei soll ein bestimmter Text in eine neue Datei kopiert werden. Das Problem daran ist, dass dieser "bestimmte Text" erst gefunden werden muss. Was ich nicht weis, wie das Programmtechnisch aussehen muss.
Hier ein Beispiel für die Quelldatei:

AE41TRANS#%;4.1#%7845296#%001#%#%#%02#%SEA#%20080402#%#%#%FOB#%#%#%#%USPUA#%#%North America Inc.#%#%#%#%5, Lyberty Way#%#%01886#%Westford#%#%#%#%#%US#%MA#%#%#%PNA/BII#%#%#%#%C/O Brookvale International#%20943 South Maciel Avenue#%90810#%Carson#%#%#%#%#%US#%CA#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%007#%20080402#%#%#%#%#%#%7845296#%20080402#%#%#%#%#%EUR#%1#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%
AE41ITEM#%4.1#%7845296#%001#%1#%#%550003003#%Men's Boot Cut#%worn-out#%#%#%#%CO000000000422997#%20080117#%x#%20080117#%#%#%#%190#%Piece#%1#%25.20#%4788#%#%#%kg#%133#%kg#%620342#%#%#%#%#%TR#%#%1000#%11#%#%#%#%#%#%#%#%ASN00000000207364#%#%#%#%
AE41PACKG#%4.1#%7845296#%001#%ASN000000002073644#%ASN000000002073644#%#%CT#%1#%14#%kg#%15.1#%kg#%60#%40#%30#%cm#%#%#%#%#%#%#%#%
AE41PACKG#%4.1#%7845296#%001#%ASN000000002073645#%ASN000000002073645#%#%CT#%1#%7#%kg#%8.1#%kg#%60#%40#%30#%cm#%#%#%#%#%#%#%#%
AE41PACKG#%4.1#%7845296#%001#%ASN000000002073646#%ASN000000002073646#%#%CT#%1#%14#%kg#%15.1#%kg#%60#%40#%30#%cm#%#%#%#%#%#%#%#%
AE41PCKIT#%4.1#%7845296#%001#%1#%7845296#%ASN000000002073641#%20
AE41PCKIT#%4.1#%7845296#%001#%1#%7845296#%ASN000000002073649#%20
AE41PCKIT#%4.1#%7845296#%001#%1#%7845296#%ASN0000000020736410#%20

Aus dieser Datei brauche ich die Rechnungsnummer. Sie ist in diesem Fall die 7845296. Zu finden in der ersten Zeile nach dem zweiten Prozentzeichen und vor dem dritten #-Zeichen.
Ich hatte mich hier im Forum ein bischen eingelesen und habe es mit FOR /F "tokens=3 delims=%" %%i in (quelle.txt) do echo %%i probiert, scheitere aber glaub ich an dem %-Zeichen.

Vielleicht kann mir jemand helfen...
Danke und Gruß
oliweb
Mitglied: Biber
02.04.2008 um 13:24 Uhr
Moin Oliweb,

teste es am CMD-Prompt mit:
01.
for /f "tokens=3 delims=#%" %i in (quelle.txt) do @echo %i
Das sollte die Rechnungsnummer rausflöhen.
Im Batch ALLE %-Zeichen verdoppeln:
01.
for /f "tokens=3 delims=#%%" %%i in (quelle.txt) do @echo %%i
Gruß
Biber
Bitte warten ..
Mitglied: oliweb
02.04.2008 um 14:23 Uhr
Danke Biber für die schnelle Antwort.
Jetzt noch eine Frage. Ich bekomme mit dem Code die gesuchte Zahl. Allerdings 20 Mal hintereinander. Ich brauche sie aber nur einmal?
Bitte warten ..
Mitglied: Biber
02.04.2008 um 14:30 Uhr
Moin Oliweb,

es sind ja immer die gleichen - also kannst Du entweder z.B. die erste oder die letzte nehmen.

Jeweils im Batch:
Die Letzte:
01.
 for /f "tokens=3 delims=#%%" %%i in (quelle.txt) do Set RechNr=%%i 
02.
:: Wert steht in variable %rechNr%
Die Erste:
01.
 for /f "tokens=3 delims=#%%" %%i in (quelle.txt) do if not defined Rechnr Set RechNr=%%i 
02.
:: Wert steht in Variable %rechNr%
Gruß
Biber
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
Per Batch ab einer bestimmten Stelle in einer .txt auslesen (1)

Frage von PeterPann zum Thema Batch & Shell ...

Batch & Shell
gelöst Einzelne Zeilen in txt Datei speichern und auslesen (7)

Frage von noah1400 zum Thema Batch & Shell ...

Batch & Shell
Ungewöhnliche Txt.Datei-Abfrage mit Batch (3)

Frage von DaTobsn zum Thema Batch & Shell ...

Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (14)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...