Fieles parsen und Dokumentenlinks in txt schreiben
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
Die URL soll nun in einer anderen .txt Datei geschrieben werden. Kann mir hierbei jemand weiterhelfen?
Vielen Dank ich freue mich auf eure Antworten.
MfG
scottt
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>
**[http://eine-url.de/xxx.tpl xxx]
[http://eine-andere-url.de/yyy.tpl yyy]**
</td>
</tr>
</table>
</body>
</html>
Die URL soll nun in einer anderen .txt Datei geschrieben werden. Kann mir hierbei jemand weiterhelfen?
http://eine-url.de/xxx.tpl & http://eine-andere-url.de/yyy.tpl
Vielen Dank ich freue mich auf eure Antworten.
MfG
scottt
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 122328
Url: https://administrator.de/forum/fieles-parsen-und-dokumentenlinks-in-txt-schreiben-122328.html
Ausgedruckt am: 12.04.2025 um 07:04 Uhr
2 Kommentare
Neuester Kommentar
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
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
@echo off &setlocal
:: anpassen:
set inputfolder=c:\temp
set outputfile=c:\text.txt
pushd "%inputfolder%"
for /f "tokens=*" %%i in ('dir /a-d /b') do (
for /f "tokens=*" %%j in ('findstr /i /c:"a href=" "%%i"') do set "Zeile=%%j" &call :sub
)
popd
pause
goto :eof
:sub
set Zeile=%Zeile:<=%
set Zeile=%Zeile:>=%
set Zeile=%Zeile:&=%
set Zeile=%Zeile:"=°%
set Zeile=%Zeile:.tpl=°%
for /f "tokens=2 delims=°" %%k in ("%Zeile%") do echo %%k.tpl>>"%outputfile%"
goto :eof
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):
In Zeile 3 wird vorgegeben, dass nur Dateien ohne Typangabe (*.) gesucht werden sollen.
Anmerkung zum Suchstring in Zeile 5 (für ev Anpassungen):
Grüße
bastla
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):
@echo off & setlocal
set "Ordner=C:\Temp"
set "Dateien=*."
set "Aus=D:\Links.txt"
set "Suche=<a href=""(http://.*\.tpl)"">.*</a>"
set "G=%temp%\GetURL.vbs"
>%G% echo Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(WScript.Arguments(0)).ReadAll
>>%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
>>%G% echo Set Aus=fso.OpenTextFile("%Aus%",8,True):For Each M In Ms:Aus.WriteLine M.SubMatches(0):Next
if exist "%Aus%" del "%Aus%"
for %%i in ("%Ordner%\%Dateien%") do cscript //nologo %G% "%%~fi"
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