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

In Textdatei bestimmte Zahlen-Wildchar Kombination finden.

Frage Entwicklung Batch & Shell

Mitglied: Nowologix

Nowologix (Level 1) - Jetzt verbinden

09.07.2009, aktualisiert 21:31 Uhr, 3829 Aufrufe, 7 Kommentare

Lange Gesucht aber nie eine Antwort zu meine Frage gefunden.

Hallo Admin-Team

Ich hab ein ganz spezielles Anliegen
Ich muss in einer Textdatei aus jeder Zeile die 12stelligen Nummer herauskopieren.
Das Schema ist dieses:

WCK2lxx5 mp3 german sony 000004000100
WFK51g avi,mpeg,mpg4 german davideo 195552033328

Und am Ende sollte ich in einer Textdatei nurnoch:
000004000100
195552033328
stehen haben.
(Sogar noch gekürzt, eigentlich muss ich nur die ersten 8Stellen herauskopieren.)
Demnach sollte das hier herauskommen:
00000400
19555203

Ist das zu realisieren ?


Grüße Nowo
Mitglied: Biber
09.07.2009 um 21:41 Uhr
Moin Nowologix,

der einzige für einen Algorithmus relevante Sachverhalt scheint doch zu sein,
dass diese Ziffernfolge
  • immer mindestens 8 Zeichen lang ist
  • immer als letztes "Feld" in einer Zeile steht

Oder gibt es auch dabei noch Ausnahmen?

Falls nicht, dann wäre das Gröbste mit einer CMD-Zeile erledigt:
[Demo am CMD-Prompt; einzugebene Zeilen durch ein ">" gekennzeichnet]
01.
>echo WCK2lxx5 mp3 german sony 000004000100>nowo.txt 
02.
>echo WFK51g avi,mpeg,mpg4 german davideo 195552033328>>nowo.txt 
03.
 
04.
>for /f "tokens=1-8" %a in (nowo.txt) do @for /f %i in ("%h %g %f %e %d %c %b %a") do @echo %i 
05.
000004000100 
06.
195552033328 
07.
 
08.
:::: und wenn es nur die ersten 8 Zeichen sein sollen: 
09.
>for /f "tokens=1-8" %a in (nowo.txt) do @for /f %i in ("%h %g %f %e %d %c %b %a") do @set "x=%i" & @echo !x:~0,8! 
10.
00000400 
11.
19555203 
12.
 
Grüße
Biber
Bitte warten ..
Mitglied: Nowologix
10.07.2009 um 14:31 Uhr
Danke für die schnelle Antwort.
Ja leider gibt es dort ausnahmen.
Die Ziffern stehen nicht immer als letztes.

Fakt ist nur: Sie haben immer 12 Zeichen, beginnen immer mit einer 0 und stehen irgendwo in der Zeile.

Gibts dafür eine Lösung ? Der script von dir funktioniert leider nicht (der parameter /F ist syntaktisch an dieser stelle nicht einzubringen.)


Nowo
Bitte warten ..
Mitglied: 80220
10.07.2009 um 15:06 Uhr
Du musst das ">"-Zeichen vor for am Zeilenanfang wegnehmen, das ist da irrtümlich enthalten.
Bitte warten ..
Mitglied: Nowologix
10.07.2009 um 15:17 Uhr
habe ich schon, auch ohne das Zeichen funktioniert es nicht :- (
Bitte warten ..
Mitglied: 80220
10.07.2009 um 15:24 Uhr
Wie hast du das denn ausprobiert, in der Konsole oder mit einem Batchprogramm?
Bitte warten ..
Mitglied: Nowologix
10.07.2009 um 15:46 Uhr
haaa es funktioniert o.O
wie kann ich es in einem batch programm zum laufen bringen ???
Bitte warten ..
Mitglied: Biber
10.07.2009 um 16:42 Uhr
Moin Nowologix,

in einem Batch müssen die %-Zeichen vor allen FOR-Anweisungsvariablen durch %% ersetzt werden. (%%i statt %i etc).

Und dass mein ">" den Prompt darstellen sollte, schreib ich oben noch mal dran.

BTW, wozu denn die Frage nach dem Batch? Ist doch nur eine Zeile.

Wenn Du einmal das Prinzip verstanden hast, dann kannst Du es immer wieder spontan runtertippseln.

Grüße
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
gelöst Batch-Skript: Messdaten in Textdatei finden und in eine neue Datei schreiben (5)

Frage von habmalnefrage zum Thema Batch & Shell ...

Visual Studio
gelöst VBS schreibt bestimmte Variable nicht in Textdatei (11)

Frage von Saschaaaaa zum Thema Visual Studio ...

Batch & Shell
Powershell - In Textdatei suchen und ersetzen (1)

Frage von Raaja89 zum Thema Batch & Shell ...

Netzwerke
VPN nur für bestimmte Port(s) verwenden unter Win10 (1)

Frage von Bluebrain zum Thema Netzwerke ...

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

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