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

Unbekannte Zeichenkette aus txt mit Zeilenangabe auslesen

Frage Entwicklung Batch & Shell

Mitglied: IForever

IForever (Level 1) - Jetzt verbinden

01.12.2014, aktualisiert 03.12.2014, 949 Aufrufe, 4 Kommentare, 1 Danke

Hallo Community

Nach über 4 Stunden herum probieren habe ich es aufgegeben und muss hier um Rat bitten...


Ich möchte mittels Batch Datei den Track eines Internet-Radios aus dem Quelltext der Seite kopieren und lokal in eine Textdatei schreiben,
um mir den Titel zu einem späteren Zeitpunkt anhören zu können.
In Verbindung damit habe ich mir den wget "Befehl" besorgt.


Was ich fest sagen kann:

- Der Track steht immer in der Zeile 204 (Bsp: DJ SHOG - Stranger On This Planet)
- Die Zeile sieht immer so aus (abgesehen von der Nummer hinter "release/", daher fällt eine Stringmanipulation meiner Meinung nach flach)
<a href="/release/4074" style="color: #FFFFFF">DJ SHOG - Stranger On This Planet</a>


Mein momentaner Quelltext sieht so aus:

@echo off
setlocal enableDelayedExpansion

:: Wenn vorheriger Quelltext vorhanden, dann löschen
IF EXIST A:\TechnoBaseTrack\index.html (DEL A:\TechnoBaseTrack\index.html)

:: Quelltext auslesen
wget -P A:\TechnoBaseTrack http://www.technobase.fm/

:: Zeile suchen
FINDSTR #FFFFFF A:\TechnoBaseTrack\index.html>=A:\TechnoBaseTrack\line.txt

:: Track extrahieren
FOR /F "delims=" %%s in (FINDSTR #FFFFFF A:\TechnoBaseTrack\line.txt) do @set track=%%s !track:*>=!
@ECHO %track%>>A:\TechnoBaseTrack\line.txt


Alles unter ":: Track extrahieren" ist kompletter Schwachsinn, so wie ich das sehe...
Und ":: Zeile suchen" fällt denke ich weg, insofern man die Zeile direkt angeben kann. (Nach #FFFFFF wurde gesucht, da dies nur in dieser Track-Zeile verwendet wird)


Ich bin mit meinem Latein am Ende und hoffe Ihr könnt mir dabei helfen
Mitglied: colinardo
01.12.2014, aktualisiert um 22:31 Uhr
Hallo IForever, Willkommen auf Administrator.de!
Mach's doch mit Powershell, da ist das Gedöns ein Einzeiler ohne Zusatztools
01.
[regex]::Match((New-Object System.Net.WebClient).DownloadString("http://www.technobase.fm"),'<a href="/release/.*?" style="color: #FFFFFF">([^<]+)</a>').Groups[1].Value | out-file "A:\TechnoBaseTrack\line.txt"
oder wenn's unbedingt Batch sein muss, direkt ohne Umweg über eine Textdatei mit curl für Windows in Batch (Die for-Schleifen-Methode kannst du aber auch auf dein HTML-File und wget anwenden)
01.
::Codepage ändern für Umlaute im Titel 
02.
chcp 1252 
03.
 
04.
:: Titel extrahieren ,verwendet 'curl' 
05.
for /f "tokens=3 delims=^>^<" %%a in ('curl -s http://www.technobase.fm/ ^| findstr /r /c:"/release/.*"') DO @echo %%a>"A:\TechnoBaseTrack\line.txt" 
06.
 
07.
::Codepage wieder zurücksetzen 
08.
chcp 850
Grüße Uwe
Bitte warten ..
Mitglied: Endoro
LÖSUNG 02.12.2014, aktualisiert 03.12.2014
Hey,
nach einer Zeilennummer kann auch gesucht werden:
01.
@echo off &setlocal disabledelayedexpansion 
02.
for /f "tokens=1*delims=:" %%a in ('wget -q -O- "http://www.technobase.fm/" ^|findstr /n "^"') do if %%a==204 set "TrackRaw=%%~b" 
03.
for /f "tokens=3delims=<>" %%a in ("%TrackRaw%") do >>"tracks.log" echo %%~a
Gruss, Endoro
Bitte warten ..
Mitglied: IForever
03.12.2014 um 16:34 Uhr
Hallo Uwe,

danke für deinen Vorschlag

Powershell schließe ich vorerst einmal aus, da ich in diesem Thema noch nie etwas gearbeitet habe.
Die Lösung mit dem curl habe ich bis jetzt nur einmal überflogen, scheint aber zu funktionieren.
Da ich mir das mit dem curl noch einmal anschauen muss wird das wohl erst morgen, bzw. Freitag Abend geschehen, ich melde mich dann noch einmal, sobald ich deinen Code getestet habe.

Gruß
Chris
Bitte warten ..
Mitglied: IForever
03.12.2014, aktualisiert um 17:49 Uhr
Hallo Endoro,

auch dir ein großes Dankeschön für den Vorschlag

Auf das einfach "Copy&Paste" habe ich keine Lösung gefunden, ich gehe mal davon aus, dass ich den Code noch einmal überfliegen muss, auch das werde ich wohl erst morgen bzw. Freitag Abend schaffen.

Gruß
Chris

EDIT:

Aus mir unerklärlichen Gründen hat der Code nun doch funktioniert Oo
Vielleicht ist mir beim ersten mal Copy-Paste ein Fehler unterlaufen ....

Vielen Dank für die Lösung, Endoro!
Morgen mache ich mich daran, den Code zu verstehen ^^

Gruß
Chris
Bitte warten ..
Ähnliche Inhalte
Speicherkarten
Unbekannten Speicher auslesen
gelöst Frage von vGavenSpeicherkarten13 Kommentare

Hi, ich habe vom Nachbar einen wirklich kleinen Daten-"Stick" bekommen mit der bitte die Daten auf einen anderen Datenträger ...

Batch & Shell
Batch mit for txt auslesen?
gelöst Frage von Mohji32Batch & Shell4 Kommentare

Hallo, ich habe mir den "Grundkurs" zu for schleifen im Board angeschaut aber leider nicht das hin bekommen was ...

Batch & Shell
Mit Batch .txt auslesen und benutzen
gelöst Frage von GhostJumperHDBatch & Shell8 Kommentare

Ich habe folgendes Problem Ich möchte das W-Lan überlasten und möchte danach die .bat zur .exe umwandeln. Ich möchte ...

Batch & Shell
Txt auslesen zähler hinzufügen
gelöst Frage von NewNoobBatch & Shell9 Kommentare

Und zwar möchte ich eine batch schreiben in dem ich alle verknüpfungen suche und dann lösche ausser in bestimmten ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 1 TagMicrosoft Office8 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 1 TagDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 1 TagSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 1 TagMicrosoft Office3 Kommentare

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner14 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...