Tips & Tricks - DOS / WINDOWS


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
				
			

!Die spitzen Klammern um die HTML-Tags müssen ggf. noch maskiert werden!
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
	rem ************************************************************
	rem *                                                          *
	rem * Script zur Ermittlung der gesamten Pfad-Laenge           *
	rem * aller Dateien im anzugebenden Pfad                       *
	rem *                                                          *
	rem ************************************************************

	rem ************************************************************
	rem * Variablen und Farben des Scripts setzen                  *
	rem ************************************************************
	setlocal enabledelayedexpansion
	color e0

	rem ************************************************************
	rem * Bildschirm-Ausgabe von Programm-Informationen            *
	rem ************************************************************
	call :_head

	rem ************************************************************
	rem * Loeschen von Dateien sofern vorhanden                    *
	rem ************************************************************
	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

	rem ************************************************************
	rem * Abfrage des Pfades der untersucht werden soll            *
	rem ************************************************************
	echo.
	set /p $PFAD=Geben Sie den zu untersuchenden Pfad ein (Lw:\Ordner):
	echo Bitte warten ...

	rem ************************************************************
	rem * Listung aller Dateien aus angegebenen Pfad in liste.txt  *
	rem ************************************************************
	dir %$PFAD%\*.* /b /s /w /A-D /ON > liste.txt

	rem ************************************************************
	rem * Schleife für alle Dateinamen in liste.txt:               *
	rem * - Schreibe Dateiname in string.txt                       *
	rem * - Ermittlung der Laenge des Dateinamens in string.txt    *
	rem * - Aufruf der Filterung und Protokollierung               *
	rem ************************************************************
	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

	rem ************************************************************
	rem * Filterung und Protokollierung in entsprechende Dateien   *
	rem ************************************************************
	:_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

	rem ************************************************************
	rem * SUB - Programm-Information                               *
	rem ************************************************************
	:_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

	:_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!

####################################################################################################