Diashow über Batchdatei per IrfanView auf LCD starten

Do, 17.12.2009 - 10:50 -- Daniel Espendiller

Früher wurden Bilder per Leuchttafel oder Bilderrahmen an die Wand genagelt. Dank technischen Errungenschaften kann man diese mittlerweile kostengünstig durch LCD mit Diashows ersetzen. (FullHD LCD und EeeBox, wie im Bild zusehen). Die EeeBox wurde hinter den Fernseher montiert. Den An- und Ausschalter kann man sich, nach los nehmen der EeeBox durch zwei weitere Drähte, mit einem externen Taster erweitern. Angeschlossen wurden diese Drähte an eine externe Steuerung (Siemens SPS), wodurch ein automatisches hoch- und runterfahren möglich ist.

Hardware

Um alle paar Minuten ein Bildwechsel durchzuführen, sollte jeder billige PC in der Lage sein. Zwecks Montage wurde hierfür die EeeBox von Asus genutzt. Sie hat einen HDMI Ausgang, so das jeder Fernseher gut versorgt werden kann. Ihr legt eine Funktastatur, Funkmaus und eine Fernbedienung bei, die auch noch alle funktionieren, wenn der Fernseher zwischen Funksender und Empfänger steht.

IrfanView Einstellungen

Zur Wiedergabe einer Diashow in Vollbild und automatischer Bilderskalierung ist IrfanView geeignet. Ein Starten ist per Kommandozeile möglich. Es reicht einen Ordner mit Bilder per Parametern zu übergeben.

slideshow.bat

Die Batchdatei wird auf einen beliebigen USB-Stick kopiert und eine Verknüpfung der Datei in den Autostart abgelegt. Nach dem PC-Start wird ein Bilder vom USB-Stick auf die lokale Festplatte kopiert und eine InfraView Slideshow über die Kommandozeile gestartet. Aufgerufen wird IrfanView mit den einmalig hinterlegten Einstellungen: Vollbild, Stretch, Anzeigedauer pro Bild, ...

@echo off
set tragetfolder=C:\Bilder
set irfanview=C:\Programme\IrfanView\i_view32.exe
 
 
IF EXIST %tragetfolder% goto mkd
echo Erstelle %tragetfolder%
mkdir %tragetfolder%
 
:mkd
echo Loesche alte Bilder
del /S /Q %tragetfolder%
 
echo Kopiere neue Bilder
xcopy bilder\*.jpg "%tragetfolder%"  /Y /D /I /S /Q
 
echo Starte Irfanview Diaschow
%irfanview% /slideshow=%tragetfolder%

mehrere Bildschirme

Über folgende Zeilen könnte noch definiert werden, auf welchem Monitor die Slideshow gestartet werden.

Command line option for EXE Slideshow: /monitor=X (start on monitor X)

Auflösung per Batch ändern

Eventuell: Anpassung der Bildschirmauflösung per Batchdatei. Manchmal verliert die EeeBox das Bild nach einem Neustart.

start C:\MultiRes\MultiRes.exe
ping -n 5 localhost  > nul
C:\MultiRes\MultiRes.exe /1:800,600,16,60
ping -n 5 localhost  > nul
C:\MultiRes\MultiRes.exe /1:1920,1080,32,60
ping -n 5 localhost  > nul

Disqus - noscript

Wenn Sie mir einen kleinen Tipp zu ihren (übrigens sehr respektablen und schick gelösten) Batch-Scripten erlauben?! Der Beitrag scheint mir von einem "alten Hasen", der sich mal mindestens seit DOS-, oder Windows als DOS-Aufsatz mit dem Rechner beschäftigt?! Seinerzeit war es üblich die Pfade ohne Leerzeichen zu benennen. Heute ist allein schon der Programm-Ordner von 64-bit-Systemen ab Hersteller mit Leerzeichen versehen, was die vor genannte BATCH leider Fehler erzeugen lässt.

Schnelle Abhilfe:

1.) Setzen Sie die Pfadangaben einfach in Anführungszeichen

2.) Haben Sie ein 64-bit Windows? Dann ändern Sie die ersten 3 Batchzeilen in:
@echo off
set tragetfolder="%localappdata%\Microsoft\Windows\Themes\Snowy Nig\DesktopBackground"
set irfanview="C:\Program Files (x86)\IrfanView\i_view32.exe"

Das sollte manch Fehlermeldung gleich vermeiden helfen ;-)

ps.: In meinen drei ersten Batchzeilen zeige ich übrigens Winterlandschaften aus meinen Windows-Design dabei ist die Variable "localappdata" eine schöne Möglichkeit die Frage nach dem Benutzernamen zu umgehen.