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 Batch dir und Html Link ausgabe

Mitglied: Pilger83

Pilger83 (Level 1) - Jetzt verbinden

24.08.2014, aktualisiert 22:42 Uhr, 1327 Aufrufe, 7 Kommentare, 2 Danke

Hallo zusammen,

folgendes Problem, ich möchte eine Batch mit folgender function

dir Ordner plus Unterordner durchsuchen ausgabe ohne Kopfzeile.... klar dir /b /s
einzelnes Ergebniss in Variable speichern ausgabe html datei mit links zu den einzelnen dateien (nur PDF) *.pdf


also dachte in etwa so:

@echo off
for /f %%i (' dir "C:\test\*.pdf" /b /s ') do set verz=%%i
echo ^<a href=" %verz% ^</a^> >>Link.html
:eof

hab die Suche wirklich benutzt und lange probiert nur steig leider nicht dahinter...

mfg Markus
Mitglied: rubberman
LÖSUNG 24.08.2014, aktualisiert 25.08.2014
Hallo Markus, willkommen im Forum.

Da kommen gleich mehrere Probleme zusammen.
  • Für lokale Pfade brauchst du eine File-URL
  • Backslashes sind in URLs Slashes
  • In URLs sind nur bestimmte Zeichen erlaubt. Zeichen (wie bspw. Leerzeichen) müssen kodiert werden
  • Dein Browser wird vermutlich nicht auf lokale Dateien zugreifen dürfen

Um diese Probleme zu lösen könntest du eine kombinierte Datei aus Batch und JScript schreiben (um die encodeURI Funktion nutzen zu können), sowie statt der HTML eine HTA Datei kreieren.

*.bat
01.
@if (@X)==(@Y) @end /* Hybrid Zeile, die einen JScript Kommentar einleitet 
02.
 
03.
:: Batch Part: 
04.
@echo off &setlocal 
05.
 
06.
set "htafile=Link.hta" 
07.
 
08.
>"%htafile%" echo ^<html^>^<head^>^<HTA:APPLICATION WINDOWSTATE="maximize"^>^<title^>PDF Links^</title^>^</head^>^<body^> 
09.
 
10.
set begin=^<a href=^"file:///&set middle=^"^>&set end=^</a^>^<br^> 
11.
>>"%htafile%" ( 
12.
  for /f "delims=" %%i in ('dir /a-d /b /s "*.pdf"') do ( 
13.
    set "file=%%i" 
14.
    for /f "delims=" %%j in ('cscript //e:jscript //nologo "%~f0"') do ( 
15.
      set "url=%%j" 
16.
      setlocal EnableDelayedExpansion 
17.
      echo !begin!!url!!middle!!file!!end! 
18.
      endlocal 
19.
20.
21.
22.
 
23.
>>"%htafile%" echo ^</body^>^</html^> 
24.
pause 
25.
exit /b 
26.
 
27.
:: JScript Part: */ 
28.
WScript.Stdout.WriteLine( 
29.
  encodeURI( 
30.
    WScript.CreateObject("WScript.Shell").Environment("PROCESS")("file").replace(/\\/g, "/") 
31.
32.
);
Grüße
rubberman

EDIT: Support für Dateinamen mit Ausrufezeichen ergänzt.
EDIT2: Überflüssigen Slash entfernt
Bitte warten ..
Mitglied: Pilger83
24.08.2014 um 22:41 Uhr
oh mein Gott, ich war grad dabei es mit dem Teil aus dem Tutorial zu versuchen
"Die Variante zur Erzeugung von Zahlenfolgen, FOR /L mit setlocal enabledelayedexpansion " als mein Kopf auf die Tastatur knallte.... hab ich deine Nachricht gelesen und ausprobiert.... häng jetz seit einer Woche auf arbeit und zuhause dran und nu... weiß nicht was ich sagen sollen ausser HERZLICHSTEN DANK!
Bitte warten ..
Mitglied: rubberman
24.08.2014 um 22:56 Uhr
Hallo Markus,

gern geschehen

Ich habe den Code oben noch einmal leicht verändert, um auch Dateinamen mit Ausrufezeichen vernünftig verarbeiten zu können.

Grüße
rubberman
Bitte warten ..
Mitglied: Pilger83
25.08.2014 um 11:37 Uhr
moin moin rubberman,

danke nochmal! ein Problem hab ich jetzt noch....
Umlaute bekomm ich doch mit "chcp 1252" richtiggestellt aber irgendwie klappt das nicht so richtig
der macht mir trotzdem sowas "Rüstenl" in den Link und dann funktioniert er natürlich auch nicht... leider
Bitte warten ..
Mitglied: Pilger83
25.08.2014 um 18:45 Uhr
also da mit chcp is ja auch quatsch weil die Darstellung passt ja nur er übernimmt diese nicht so via Link in den Explorer..
Versuch mit Utf-8 scheiterte auch ebenso wie die Einstellungen des Explorers zu ändern....
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Bitte warten ..
Mitglied: rubberman
LÖSUNG 25.08.2014, aktualisiert um 20:29 Uhr
Hallo Markus,

da siehst du wie kompliziert Encoding sein kann
Ich versuchs mal
  • escape statt encodeURI
  • Charset der HTA auf CP850

01.
@if (@X)==(@Y) @end /* Hybrid Zeile, die einen JScript Kommentar einleitet 
02.
 
03.
:: Batch Part: 
04.
@echo off &setlocal 
05.
 
06.
set "htafile=Link.hta" 
07.
 
08.
>"%htafile%" echo ^<html^>^<head^>^<meta charset="cp850"^>^<HTA:APPLICATION WINDOWSTATE="maximize"^>^<title^>PDF Links^</title^>^</head^>^<body^> 
09.
 
10.
set begin=^<a href=^"file:///&set middle=^"^>&set end=^</a^>^<br^> 
11.
>>"%htafile%" ( 
12.
  for /f "delims=" %%i in ('dir /a-d /b /s "C:\test\*.pdf"') do ( 
13.
    set "file=%%i" 
14.
    for /f "delims=" %%j in ('cscript //e:jscript //nologo "%~f0"') do ( 
15.
      set "url=%%j" 
16.
      setlocal EnableDelayedExpansion 
17.
      echo !begin!!url!!middle!!file!!end! 
18.
      endlocal 
19.
20.
21.
22.
 
23.
>>"%htafile%" echo ^</body^>^</html^> 
24.
pause 
25.
exit /b 
26.
 
27.
:: JScript Part: */ 
28.
WScript.Stdout.WriteLine( 
29.
  escape( 
30.
    WScript.CreateObject("WScript.Shell").Environment("PROCESS")("file").replace(/\\/g, "/") 
31.
32.
);
Das sollte theoretisch den gewünschten Effekt erzielen ...

Grüße
rubberman
Bitte warten ..
Mitglied: Pilger83
25.08.2014 um 20:34 Uhr
ohje definitiv unterschätzt!! rubber, fühl dich ganz herzlich gedrückt! besten Dank!
funktioniert exzellente
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail

HTML Link wird bei weiterleitung nicht angezeigt

Frage von LukihoferOutlook & Mail2 Kommentare

Hallo Zusammen ! Wenn im Outlook eine Weiterleitung auf einen anderen User machen wird bei einer HTML Adresse ( ...

Batch & Shell

Batch Sortierung und Ausgabe

gelöst Frage von XerebusBatch & Shell9 Kommentare

Hallo Kollegen, ich habe hier ein kleines Verständnissproblem mit einer Batch Datei. Ich will eine csv Datei mit ; ...

Entwicklung

HTML Link aufrufen per Batch?VBS?JAVA?Python?

gelöst Frage von fuguEntwicklung4 Kommentare

Hey ho Coder-Gemeinde! Zugrunde liegt eine Software, mit der ich regelbasiert irgendetwas ausführen kann - eine DOS Batch, oder ...

Batch & Shell

Powershell Script - Ausgabe Tasks eines Servers in eine HTML Seite

gelöst Frage von lexuraBatch & Shell4 Kommentare

Powershell Neuling !!!! Hallo, hatte vor kurzem ja schon die Frage nach einem Script zum Auslesen der Tasks gefragt. ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 19 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 TagHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++24 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless22 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL18 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...