Tips & Tricks - Batch

HTML-Bildergalerie mittels DOS- / Windows-Batch

Was macht dieses kurze BATCH-Script?

  • listet alle JPG-Dateien im aktuellen Verzeichnis in die Datei "liste.txt" im aktuellen Verzeichnis
  • schreibt ein HTML-Grundgerüst in eine HTML-Datei im aktuellen Verzeichnis
  • schreibt für jede JPG-Datei in der Datei "liste.txt" einen Eintrag in die HTML-Datei
  • 				
    	@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?

  • ermittelt die Pfad-Länge aller Dateien in einem anzugebenden Pfad (Lw:\Dir)
  • protokolliert in entsprechende Dateien
  • 				
    	@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!

    ▲nach oben▲