Guten Abend,
ich versuche mittels einer Batch file automatisch HTML-files zu
erzeugen, welche mir Fotos anzeigen sollen.
Da hänge ich jetzt schon länger an zwei Problemen, wo ich nicht weiter
komme.
ferh ist im code eigentlich href, wurde mir hier aber als spam gemeldet
1 | set MAINFOLDER=C:\Users\Desktop\
|
2 | set ORDNER[0]=2015_Harz
|
3 |
|
4 |
|
5 | @echo off
|
6 | del index.html
|
7 | echo ^<!DOCTYPE html^> >> index.html
|
8 | echo ^<html lang="de"^> >> index.html
|
9 | echo ^<head^> >> index.html
|
10 | echo ^</head^> >> index.html
|
11 | echo ^<body^> >> index.html
|
12 |
|
13 |
|
14 | echo ^<h1^>BILDER^</h1^> >> index.html
|
15 |
|
16 | for /F "tokens=2 delims==" %%s in ('set ORDNER[') do (
|
17 | call:myFunc %%s
|
18 | echo ^<a ferh="%%s.html" target="_self"^>%%s ^</a^> >> index.html
|
19 | )
|
20 |
|
21 | echo ^</body^> >> index.html
|
22 | echo ^</html^> >> index.html
|
23 |
|
24 | call:endFunc
|
25 |
|
26 | :myFunc
|
27 | set FOLDER=%~1
|
28 | set FILE=%~1.html
|
29 | del %FILE%
|
30 | echo ^<!DOCTYPE html^> >> %FILE%
|
31 | echo ^<html lang="de"^> >> %FILE%
|
32 | echo ^<head^> >> %FILE%
|
33 | echo ^</head^> >> %FILE%
|
34 | echo ^<body^> >> %FILE%
|
35 | echo ^<h1^>%FOLDER%^</h1^> >> %FILE%
|
36 | for /f "delims=?" %%i in ('dir /b %MAINFOLDER%%FOLDER% ".\*.jpg"') do @echo ^<a ferh="%%~ni.jpg"^> ^<img src='%%~ni.jpg' width=30%% height=auto/^>^</a^> >> %FILE%
|
37 | echo ^</body^> >> %FILE%
|
38 | echo ^</html^> >> %FILE%
|
39 | goto:eof
|
40 |
|
41 | :endFunc
|
Hier habe ich zwei Probleme:
zu einem die For schleife, wo mir die bilder auflisten soll
1 | for /f "delims=?" %%i in ('dir /b %MAINFOLDER%%FOLDER% ".\*.jpg"') do @echo ^<a ferh="%%~ni.jpg"^> ^<img src='%%~ni.jpg' width=30%% height=auto/^>^</a^> >> %FILE%
|
Habe ich kein Leerzeichen zwischen mainfolder und folder,
bekomme ich zwar eine Link, aber kein Bild. Die Fehlermeldung ist
Die Dateien unter /C:/Users/Desktop/DSC03251.jpg konnten nicht gefunden
werden.
Es Fehlt hier also der Ordner 2015_Harz
Habe ich ein Leerzeichen Dazwischen, ist die Fehlermeldung
Die Dateien unter /C:/Users/Desktop/.jpg konnten nicht gefunden werden.
Es fehlt hier dann also der Ordner 2015_Harz, sowie der Dateiname.
Das Zweite Problem ist, dass :myFunc ganz zum schluss noch einmal
ausgeführt wird und mir eine leere .html erzeugt.
Eigentlich springe ich mit call:endFunc doch ans ende. Da ich dort kein
goto:eof habe, sollte doch auch nicht wieder zurückgesprungen werden.