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

BatchScript um .url-Dateien auszulesen

Mitglied: seldolo

seldolo (Level 1) - Jetzt verbinden

12.01.2011 um 21:52 Uhr, 5660 Aufrufe, 2 Kommentare

Hallo allerseits,

ich versuche gerade ein Batch-Script zu schreben, das die Urls aus Verknüpfungen ausliest:

Es sollen alle *.url Dateien in dem Ordner, in dem die Batch-Datei sich befindet, durchsucht werden. Eine solche *.url-Datei sieht typischerweise wie folgt aus:
01.
[DEFAULT]
02.
BASEURL=http://hamster.volker-gringmuth.de/
03.
[InternetShortcut]
04.
URL=http://hamster.volker-gringmuth.de/
05.
IDList=
06.
IconFile=http://hamster.volker-gringmuth.de/favicon.ico
07.
IconIndex=1
08.
[{000214A0-0000-0000-C000-000000000046}]
09.
Prop3=19,2
Und aus dieser Datei möchte ich gerne die URL aus Zeile 4 extrahieren und in einer anderen TextDatei speichern.


Jetzt habe ich eine Batch-Datei geschrieben:
01.
@echo off
02.

03.
REM alle Dateinamen in tmp-Datei:
04.
dir /B *.url > _tmp_url.txt
05.

06.
REM Schleife über alle Dateien. 
07.
for /F "usebackq tokens=*" %%a in (_tmp_url.txt)  do (
08.
    REM Schleife über alle Zeilen der Datei. Nur Zeile ausgeben, die mit URL= beginnt
09.
    for /F "usebackq delims== tokens=1,2,*" %%i in ("%%a") do @(
10.
        if %%i equ URL (if %%k equ "" (echo %%j) else (echo %%j=%%k))
11.
        )
12.
    ) >> alleUrls.txt
13.

14.
REM tmp-Datei löschen:
15.
del _tmp_url.txt
Wahrscheinlich seht ihr, dass ich mit Batch-Scripten sehr unerfahren bin. Mein Problem liegt in Zeile 10:
Das Script benutzt immer den else-Zweig, in der if %%k equ "" (..) else (..) Konstellation. Auch wenn in der gesamten Zeile nur ein Gleichheitszeichen vorkommt:
URL=http://hamster.volker-gringmuth.de/
Dadurch ist mein Ergebnis falsch, welches da (im Augenblick) lautet:
http://hamster.volker-gringmuth.de/=

Wisst ihr, woran es liegt?
Ich bin natürlich auch für ander Lösungsansätze offen.

Vielen Dank im Voraus!
Mitglied: bastla
12.01.2011 um 22:45 Uhr
Hallo seldolo und willkommen im Forum!

Versuch es so (direkt in der CMD-Shell, als Batch mit jeweils %%i und %%j):
for /f "tokens=1* delims==" %i in ('findstr /b "URL=" *.url') do >>alleUrls.txt echo %j
Auch mit Deinem Ansatz ließe sich das lösen - allerdings hattest Du ein Token zuviel (es geht ja nur darum, die Teile vor und nach dem ersten "=" zu isolieren):
01.
@echo off
02.
REM Schleife über alle Dateien. 
03.
for /F "tokens=*" %%a in ('dir /b *.url')  do (
04.
    REM Schleife über alle Zeilen der Datei. Nur Zeile ausgeben, die mit URL= beginnt
05.
    for /F "usebackq tokens=1* delims==" %%i in ("%%a") do (
06.
        if "%%i" equ "URL" echo %%j
07.
    )
08.
)>>alleUrls.txt
Grüße
bastla
Bitte warten ..
Mitglied: seldolo
13.01.2011 um 01:20 Uhr
Hallo bastla,

wow, ich bin begeistert!
Dein Einzeiler ist absolut super! Ich werde mich gleich einmal dran setzen, ihn nachzuvollziehen. Kenne findstr noch nicht.

Schon interessant, ich hatte natürlich auch versucht, es ohne temporäre Datei hinzubekommen (mit Hilfe von dem wirklich tollen Tutorial zur For-Schleife hier im Forum), doch es wollte und wollte nicht klappen. Deswegen bin ich ausgewichen auf die Lösung mit Datei.
Wenn ich jetzt deinen Code sehe sieht er auf den ersten Blick genau wie meine Skriptversuche aus; mit dem Unterschied:
deiner machts, bei mir krachts ...

Also vielen Dank!
Das ist wirklich klasse!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Rechteveragbe über Batchscript
gelöst Frage von sanaitBatch & Shell7 Kommentare

Moin Moin, ich habe mir ein Laufwerk gemappt und will nun dort in einem Script die Rechte in den ...

Webbrowser

URL an Internet Explorer aus Datei übergeben

gelöst Frage von hesperWebbrowser4 Kommentare

Tach zusammen! Ich hab hier wohl eine kleine Denkblockade und brauch einen Anschubser. Aufs Warenwirtschaftssystem wird nebst Terminalemulation auch ...

Batch & Shell

CSV Datei per script auslesen, Werte in eine URL einsetzen und die URL aufrufen

gelöst Frage von flabsBatch & Shell5 Kommentare

Hallo zusammen, ich habe eine TK Anlage, die eine API zur Nebenstellenverwaltung zur Verfügung stellt. Die API funktioniert über ...

Apache Server

Rewrite URL

gelöst Frage von honeybeeApache Server2 Kommentare

Hallo, ich möchte, dass die URL automatisch und dauerhaft von host.domain.de auf host.domain.de/page geändert wird. Wie stelle ich das ...

Neue Wissensbeiträge
Viren und Trojaner

Staatstrojaner soll auch per Einbruch installiert werden können

Information von transocean vor 1 TagViren und Trojaner2 Kommentare

Moin, Bundesinnenminister Horst Seehofer will dem Verfassungsschutz Wohnungseinbrüche erlauben, um den geplanten Staatstrojaner zu installieren. Gruß Uwe

Windows 7
Win7 Update scheitert KB4512506
Information von infowars vor 1 TagWindows 7

Falls jemand auch das Problem hat mit dem: Monatliches Sicherheitsqualitätsrollup für Windows 7 für x64-basierte-Systeme (KB4512506) Das scheint mit ...

Humor (lol)
Wenn hacken nach hinten los geht
Information von em-pie vor 2 TagenHumor (lol)5 Kommentare

Moin, weil heute Freitag ist, nachfolgender kurzer Artikel zum schmunzeln:) l+f: NULL ist ein notorischer Falschparker

Windows Update
Windows: August 2019 Patchday-Probleme
Information von kgborn vor 3 TagenWindows Update3 Kommentare

Ich kippe mal einige kurze Informationen hier rein - vielleicht hilft es Betroffenen. Die August 2019-Updates für Windows haben ...

Heiß diskutierte Inhalte
Switche und Hubs
Glasfaser-Anschluss Telekom muss verteilt werden
Frage von cansoniSwitche und Hubs28 Kommentare

Vorweg: Bin nur Anwender und kein Experte Die Situation: Der Vermieter stellt einen Glasfaseranschluss in der Wohnung bereit. Wir ...

Hyper-V
VMs von Hyper-V auf externer Festplatte
Frage von SnowbirdHyper-V18 Kommentare

Hallo, ich möchte gerne von VirtualBox auf Hyper-V umsteigen und würde auch gerne weiterhin meine VMs auf der externen ...

Ubuntu
Download manchmal langsam oder komplette Abbrüche bzw. Videos spielen nicht bis zum Schluss
Frage von stefanstpUbuntu17 Kommentare

Immer wieder berichten unsere Kunden, dass Downloads abbrechen oder super langsam sind oder Videos nicht abgespielt werden können bzw. ...

Festplatten, SSD, Raid
SSDs durch Lagerung ohne Strom nach 6 Monaten defekt?!?
gelöst Frage von GlobetrotterFestplatten, SSD, Raid15 Kommentare

Moin Gemeinde Ich hatte gerade nen Trauerspiel Habe hier etliche NAS-Geräte herumfahren welche ich mal auf die Seite gelegt ...