Tips & Tricks - Batch
HTML-Bildergalerie mittels DOS- / Windows-Batch
Was macht dieses kurze BATCH-Script?
@echo off
dir /B /ON *.jpg > liste.txt
echo ^<html^> > generator.html
echo ^<head^> >> generator.html
echo ^<title^>Galerie^</title^> >> generator.html
echo ^</head^> >> generator.html
echo ^<body^> >> generator.html
for /f %%i in (liste.txt) do ( echo ^<img src="%%i" title="%%i" alt="%%i"^>^<br^>^<br^>
>> generator.html)
echo ^</body^> >> generator.html
echo ^</html^> >> generator.html
Script als datei.bat in einem Verzeichnis mit Bildern (jpg-Dateien) speichern und ausführen, Doppelklick auf die erstellte "generator.html" und über eine Bilder-Galerie freuen ...
Pfad-Länge von Dateien ermitteln
Was macht dieses BATCH-Script?
@echo off
::
:: Script zur Ermittlung der gesamten Pfad-Laenge
:: aller Dateien im anzugebenden Pfad
::
::
:: Variablen und Farben des Scripts setzen
::
setlocal enabledelayedexpansion
color e0
::
:: Bildschirm-Ausgabe von Programm-Informationen
::
call :_head
::
:: Loeschen von Dateien sofern vorhanden
::
if exist liste.txt del liste.txt
if exist string.txt del string.txt
if exist Laenge_bis_200.txt del Laenge_bis_200.txt
if exist Laenge_bis_254.txt del Laenge_bis_254.txt
if exist Laenge_ueber_254.txt del Laenge_ueber_254.txt
::
:: Abfrage des Pfades der untersucht werden soll
::
echo.
set /p $PFAD=Geben Sie den zu untersuchenden Pfad ein (Lw:\Ordner):
echo Bitte warten ...
::
::Listung aller Dateien aus angegebenen Pfad in liste.txt
::
dir %$PFAD%\*.* /b /s /w /A-D /ON > liste.txt
::
:: Schleife fuer alle Dateinamen in liste.txt:
:: - Schreibe Dateiname in string.txt
:: - Ermittlung der Laenge des Dateinamens in string.txt
:: - Aufruf der Filterung und Protokollierung
::
for /f "delims=" %%i in (liste.txt) do (
set $STRING=%%i
echo !$STRING! > string.txt
for %%? in (string.txt) do (
set /a laenge=%%~z? - 3
call :_filter
)
)
goto _end
::
::Filterung und Protokollierung in entsprechende Dateien
::
:_filter
if !laenge! GTR 254 goto _254
if !laenge! GTR 200 goto _200
echo !laenge! - !$STRING! >> Laenge_bis_200.txt
GOTO :eof
:_200
echo !laenge! - !$STRING! >> Laenge_bis_254.txt
GOTO :eof
:_254
echo !laenge! - !$STRING! >> Laenge_ueber_254.txt
GOTO :eof
::
::SUB - Bildschirm-Ausgabe
::
:_head
cls
echo.
echo ************************************************************
echo ** **
echo ** P F A D - L A E N G E **
echo ** **
echo **********(c) H.-Volker Kloss - Neumuenster 2018 ***********
echo.
goto :eof
::
:: E N D E
::
:_end
echo ### Fertig ###
color 0f
Script als z.B. "laenge.bat" in ggf. einem neuen Ordner speichern (!! Script erzeugt weitere Dateien !!) und ausführen, "Laufwerksbuchstabe:\Verzeichnis\...\Verzeichnis" eingeben und mit ENTER bestätigen, (je nach Umfang kann es nun etwas dauern...). Alle Ergbenisse werden in ggf. 3 TXT-Dateien (im Ordner des Scripts) protokolliert!