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

Mit freundlichen Grüßen
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.

Mit freundlichen Grüßen
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 ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Batch & Shell
gelöst 2 große TXT Dateien vergleichen und Unterschiede in andere Datei schreiben (6)

Frage von sid.pdm zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
CMD cURL Access Token parsen (2)

Frage von maddig zum Thema Batch & Shell ...

Webentwicklung
gelöst HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...