Bild anzeigen mittels Batch

Einfach erst mal lesen, was schon geschrieben wurde und erst dann motzen. Irfanview war schon in meinem ersten Ansatz enthalten. Aber dem Fragesteller scheint es um ein recht spezielles Szenario zu gehen, was er leider nicht in der Lage ist, verständlich zu beschreiben.

Ihr macht es aber kompliziert! Meine Dateinamen sind sehr vielseitig, z.B. mit Leerzeichen oder Sonderzeichen (.,&-_ usw.) und können nicht direkt gelesen werden, sondern nur als Text-String.
Ich habe auch schon Programme mit html, c++, VBA, Fortran, Assembler, Algol usw. geschrieben; aber MS-DOS finde ich besonders angenehm, weil es keinen Compiler benötigt und sofort startet.
Mir geht es bei der akt. Fragestellung darum, mit nur 1 Klick etwas in Gang zu setzen. Wie bereits gesagt, ist mir der Explorer zu umständlich.

Ich bin dann raus! Ich habe mir wirklich Mühe gegeben, Dir die gewünschte Lösung zu liefern. Aber wenn Du so gar nicht auf Rückfragen angemessen antwortest und zur Klärung der Anforderungen beiträgst, kann man Dir nun mal nicht helfen.

1 Like

Ich weiß nicht, wie man „angemessen“ antwortet. Überflüssig, Fragen zu beantworten, die vorher schon oder in der ursprünglichen Anfrage beantwortet wurden; z.B. mir den 1-Klick-Wunsch auszureden oder Batch oder Fullscreen-Vermeidung (nur 1 Bild sichtbar! Überlappende Bilddarstellung ist wohl mit batch nicht möglich).
Deine Lösung ist jedenfalls brauchbar, danke.

Es ging nie darum, Dir irgendetwas auszureden, sondern darum zu verstehen, welchen Vorteil die Batchdatei rein technisch bieten soll, damit man diesen dann auch realisieren kann. Und das ist nach wie vor vollkommen unklar, wenn Du nur schreibst, dass Du die Batchdatei auf den Desktop legen und mit einem Klick starten kannst. Zumal das so nicht stimmt, da Du nur die Eingabeaufforderung so starten kannst, wenn Du der Batchdatei noch eine Suchmaske mitgeben willst. D.h. Du musst die Eingabeaufforderung starten, darin dann den Namen der Batchdatei zzgl. Suchmaske eingeben.

Der Explorer liegt auch auf dem Desktop und ist auch mit einem Klick gestartet. D.h. bis zu der Stelle reden wir nur von einem anderen Icon, das angeklickt wird. Nur brauchst Du im Explorer nur noch die Suchmaske eintippen. Zudem sind Laufwerk und ggf. zu durchsuchender, Verzeichnisbaum mit einem Mausklick ausgewählt. Das erscheint auf den ersten Blick und ohne weitere Beschreibung einfacher und schneller als die Sache mit der Batchdatei, in der man entweder dann noch manuell Laufwerk und Pfad wechseln muss, oder diese dann fix verdrahten müsste.

Dann schreibst Du etwas von einer zweiten Batchdatei, in der Du die von mir geschriebene Batch aufrufen willst, schreibst aber nicht, was diese zusätzliche Batchdatei macht. Insoweit kann ich nicht nachvollziehen, was Dir offenbar noch in meinem Vorschlag fehlt. Machst Du da genau das, was ich vorstehend beschrieben habe, also Laufwerk und Verzeichnisse wechseln? Das könntest Du auch direkt in einer Batchdatei zusammenfassen. Und um auf den Explorer zurück zu kommen. Auch den könntest Du per Shortcut auf dem Desktop gleich so starten, dass er ein bestimmtes Laufwerk und einen bestimmten Verzeichnispfad voreingestellt hätte.

Dann schreibst Du wiederholt von Sonderzeichen. Hierzu hatte ich Dich schon darauf hingewiesen, dass die Suchmaske in " eingebettet sein muss, wenn man auch erweiterte Dateinamen hierin beinhalten will.

Weiterhin wird nach wie vor dein Problem mit der Ansicht der Bilder nicht deutlich. Wenn es mehrere Funde sind, dann werden nun einmal mehrere Instanzen des dem Dateityp zugeordneten Programms gestartet, und deren Fenster liegen dann ggf. übereinander. Einzelne Programme lösen das ggf. so, dass mehrere Fenster automatisch etwas versetzt angeordnet werden, wie z.B. Irfanview. Du kannst bei „start“ noch einen Parameter „/min“ übergeben, dann wird die Anwendung minimiert gestartet. D.h. die Fenster landen dann zunächst nur unten in der Startleiste. K.A. ob das jetzt Dinge sind, die Dir weiterhelfen. Aber wenn Du in der Programmierung so erfahren sein solltest, wie Du schreibst, dann müsstest Du doch auch in der Lage sein, dein Problem bzw. deine Anforderungen klar und deutlich zu formulieren. Also z.B: „Ich habe einen Ordner d:\bilder mit diversen Unterordnern in die jeweils eine Überwachungskamera Bilder abspeichert. Die Dateinamen setzen sich wie folgt zusammen, JJJJMMDDHHMMSS und möchte mir jeweils das zuletzt aufgenommene Bild aller Kameras mit einem Klick so anzeigen lassen, dass pro Bild ein Fenster des Programms x geöffnet und das jeweilige Bild darin angezeigt wird.“

3 Like

Du bist ja lustig! Mehrere Leute hier haben nicht verstanden, was Du meinst, aber die Anderen sind kompliziert.

Für Präsentationen, Erzählungen usw. gibt es einen Grundsatz, den man auch gut beim Formulieren von Fragestellungen anwenden kann: Kenne dein Publikum. Überlege welche Fakten Diesem bekannt sein sollten und formuliere entsprechend.

Na und? Was soll man als Leser mit einer so abstrakten Beschreibung anfangen? Was ist so schwer daran, konkreter und vollständig aufzuzeigen, wie das Ergebnis aussehen soll?

Ich schließe mich dem an.

vllt. hilft es, meine beiden batch-files zu zeigen? Sie sind leider formal nicht erlaubt, deshalb copy-paste. Zuerst die Datei zum Anzeigen - nach Wiz:
@echo off
echo ------ DOS-Batch-Datei Bildstart v. 03/2023 -------
echo eingegebener Parameter=%1
pause
for /f „delims=“ %%a in (‚dir /b /a-d /s %1‘) do start „SCHNAPP“ „%%a“
echo ------ Ende DOS-Batch-Datei ---------------

Dann die aufrufende Datei, welche mit dem Desktop verknüpft ist und die 1.Datei aufruft:
@echo off
echo ------ DOS-Batch-Datei Bilder1 v. 03/2023: Start Bildersuche -------
cd D:\FR-Daten
echo Verzeichnis ist auf %cd% umgestellt worden…
echo Es folgt Aufruf von Bildstart.bat fuer Suche mit Sonderzeichen …
echo.
set /p load=Eingabewert:
D:\FR-Daten\DOS_PGM\Bildstart.bat „%load%“
echo Bild fertig?
pause
echo ------ Ende DOS-Batch-Datei ---------------

Das ist meine Vorstellung von „einfach“: 1x auf Desktop klicken, dann Suchparameter eingeben - fertig.

Das kannst Du doch problemlos alles in einer Batchdatei erledigen.

D:
cd "\FR-Daten"
set /p load=Eingabewert:
for /f "delims=" %%a in ('dir /b /a-d /s %load%') do start "SCHNAPP" "%%a"
echo Bild fertig?
pause

BTW: cd wechselt nur Pfade und keine Laufwerke! D.h. der Laufwerkswechsel muss, sofern erforderlich gesondert erfolgen!