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

Fieles parsen und Dokumentenlinks in txt schreiben

Frage Entwicklung Batch & Shell

Mitglied: scottt

scottt (Level 1) - Jetzt verbinden

08.08.2009, aktualisiert 22:07 Uhr, 3152 Aufrufe, 2 Kommentare

Hallo Miteinander,
ich habe ein kleines Problem. Ich muss ca 4500 Datein auf einen String durchsuchen und hoffe das Ihr mir weiterhelfen könnt, sonst bin ich 2015 noch nicht fertig *smile*.
Ich freue mich auf eure Antworten.

MfG
scottt

Hallo Miteinander,
ich habe ein kleines Problem, ich möchte gern eine Datei mittels Batch auf den String (http://*.tpl) parsen und diesen Sting der auch mehrfach vorkommen kann in eine andere Datei schrieben. Ich muss ca. knapp 4500 Datein nach diesen Sting durchsuchen. Kann mir jemand hierbei weiterhelfen?

So sieht es bei mir zur Zeit aus:

Die Datein liegen unter: c:\temp
und heißen: 1, 2, 3, 12, 123, 1515 etc.
die Strucktur, stark vereinfacht:

c:\temp\112
<html>
<head>
<title>eine seite</title>
<link rel="stylesheet" type="text/css" href="design/style/nav.css" />
</head>
<body leftmargin="0" topmargin="0" marginWidth="0" marginHeight="0">
<table>
<tr>
<td>
<a href="http://eine-url.de/xxx.tpl;>xxx</a>"
<a href="http://eine-andere-url.de/yyy.tpl;>yyy</a>"

</td>
</tr>
</table>
</body>
</html>
Es soll nunhttp://eine-url.de/xxx.tpl & http://eine-andere-url.de/yyy.tpl in einer anderen .txt Datei geschrieben werden. Kann mir hierbei jemand weiterhelfen?

Vielen Dank ich freue mich auf eure Antworten.

MfG
scottt
Mitglied: rubberman
09.08.2009 um 00:52 Uhr
Hallo scottt,
HTML-Tags zu verarbeiten ist immer etwas tricky. Grund ist, dass Zeichen wie <, > und & auch im Batch einen Sonderstatus haben.
Aus deinem Beispiel habe ich (vielleicht fälschlicherweise) geschlossen, dass der auszugebende Link immer mit .tpl endet.
Falls das so ist, könnte es so funktionieren
01.
@echo off &setlocal 
02.
 
03.
:: anpassen: 
04.
set inputfolder=c:\temp 
05.
set outputfile=c:\text.txt 
06.
 
07.
pushd "%inputfolder%" 
08.
for /f "tokens=*" %%i in ('dir /a-d /b') do ( 
09.
 for /f "tokens=*" %%j in ('findstr /i /c:"a href=" "%%i"') do set "Zeile=%%j" &call :sub 
10.
11.
popd 
12.
pause 
13.
goto :eof 
14.
 
15.
:sub 
16.
set Zeile=%Zeile:<=% 
17.
set Zeile=%Zeile:>=% 
18.
set Zeile=%Zeile:&=% 
19.
set Zeile=%Zeile:"=°% 
20.
set Zeile=%Zeile:.tpl=°% 
21.
for /f "tokens=2 delims=°" %%k in ("%Zeile%") do echo %%k.tpl>>"%outputfile%" 
22.
goto :eof
Bitte warten ..
Mitglied: bastla
09.08.2009 um 12:48 Uhr
Hallo scott und willkommen im Forum!

Als Alternative (die ebenfalls auf der Annahme basiert, dass der Link auf ".tpl" endet) ein Batch mit ein wenig integriertem VBScript (sollte das Ganze robuster und leichter anpassbar machen):
01.
@echo off & setlocal 
02.
set "Ordner=C:\Temp" 
03.
set "Dateien=*." 
04.
set "Aus=D:\Links.txt" 
05.
set "Suche=<a href=""(http://.*\.tpl)"">.*</a>" 
06.
 
07.
set "G=%temp%\GetURL.vbs" 
08.
>%G%  echo Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(WScript.Arguments(0)).ReadAll 
09.
>>%G% echo Set rE=New RegExp:rE.Pattern="%Suche%":rE.IgnoreCase=True:rE.Global=True:Set Ms=rE.Execute(T):If Ms.Count^<1 Then WScript.Quit 
10.
>>%G% echo Set Aus=fso.OpenTextFile("%Aus%",8,True):For Each M In Ms:Aus.WriteLine M.SubMatches(0):Next 
11.
 
12.
if exist "%Aus%" del "%Aus%" 
13.
for %%i in ("%Ordner%\%Dateien%") do cscript //nologo %G% "%%~fi"
In Zeile 3 wird vorgegeben, dass nur Dateien ohne Typangabe (*.) gesucht werden sollen.

Anmerkung zum Suchstring in Zeile 5 (für ev Anpassungen):
  • Enthaltene Anführungszeichen müssen verdoppelt werden,
  • der Punkt bedeutet "ein beliebiges Zeichen" (und mit "*" dahinter "eine beliebige Anzahl beliebiger Zeichen") und muss, wenn tatsächlich das Zeichen "." gemeint ist, durch ein vorangestelltes "\" gekennzeichnet werden, und
  • der Teil, den Du als Ergebnis benötigst, ist in Klammern zu setzen

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Sonstige Systeme
gelöst Mit PDF Parser Content Splitter in Datenbank schreiben (1)

Frage von Zero01 zum Thema Sonstige Systeme ...

Batch & Shell
CMD cURL Access Token parsen (2)

Frage von maddig zum Thema Batch & Shell ...

Sonstige Systeme
Software zum Parsen von Emails und PDFs (12)

Frage von Zero01 zum Thema Sonstige Systeme ...

Batch & Shell
gelöst Größe einer Datei per BATCH in eine TXT schreiben (5)

Frage von marvinpl zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Rechtliche Fragen
gelöst Geschäftsführer Email gefaked (15)

Frage von xbast1x zum Thema Rechtliche Fragen ...

Festplatten, SSD, Raid
gelöst Welche Software für Bandlaufwerk (14)

Frage von djonas zum Thema Festplatten, SSD, Raid ...

Vmware
gelöst Update auf ESXI 6.5 Installieren (13)

Frage von zeroblue2005 zum Thema Vmware ...