Batch Datei zum starten einer Präsentation
Ich muss für ein Projekt eine Batch Datei schreiben, welche beim starten einer live cd (batchdatei wird in diese eingebunden) einen Angesteckten Flashspeicher (wenn vorhanden) nach einer Config datei durchsucht und diese ausführt. Wenn keine Config datei da ist soll die batch datei automatisch die erste Präsentation startet die sie findet.
Kenn mich recht wenig mit batch dateien aus und könnte mal hierzu etwas hilfe gebrauchen. Danke im Vorraus
Kenn mich recht wenig mit batch dateien aus und könnte mal hierzu etwas hilfe gebrauchen. Danke im Vorraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 100199
Url: https://administrator.de/forum/batch-datei-zum-starten-einer-praesentation-100199.html
Ausgedruckt am: 16.05.2025 um 00:05 Uhr
18 Kommentare
Neuester Kommentar
Damit der Lerneffekt vorhanden bleibt hast du ja sichelrich ncihts dagegen wen du mal postest was Du bisher hast.
Tips:
1. Suchen kanns du mit dir z.B.
durchsucht C nach allen txt Dateien
2. Prüfen ob udn unter wlechem Buchstaben der Speicher angeschlossen ist kannst du mit dem Befehl fsutil. Mußt du mal duchschauen wie genau.
Alternativ geht es auch mit wmic.
Tips:
1. Suchen kanns du mit dir z.B.
dir /s /b C:\*.txt
2. Prüfen ob udn unter wlechem Buchstaben der Speicher angeschlossen ist kannst du mit dem Befehl fsutil. Mußt du mal duchschauen wie genau.
Alternativ geht es auch mit wmic.
Also:
Alle mölichen Laufwerksbuchstaben kann mann mit einem Forschleife durchgehen.
Wie ich schon weiter oben geschrieben habe gibt es das Programm fsutil. Sucht man dort etwas in den Möglichkeiten rum findet man den Befehl
, gefolgt von einem Laufwerksbuchstaben, um zu sehen welches Laufwerk ein Austauschbarer Datenträger ist. Die Laufwerke A und B kann man dabei weglassen.
Die Ausgaben kann man mit Hilfe einer For-Schleife abfangen. So könnte dann etwas sowas herauskommen:
Dait kannst Du rausfinden welche Laufwerke in Frage kommen.
Alle mölichen Laufwerksbuchstaben kann mann mit einem Forschleife durchgehen.
Wie ich schon weiter oben geschrieben habe gibt es das Programm fsutil. Sucht man dort etwas in den Möglichkeiten rum findet man den Befehl
fsutil fsinfo drivetype
Die Ausgaben kann man mit Hilfe einer For-Schleife abfangen. So könnte dann etwas sowas herauskommen:
@echo off
for %%L in (d e f g h i j k l m n o p q r s t u v w x y z) do (
FOR /F "tokens=2* delims= " %%S in ('fsutil fsinfo drivetype %%L:') do call:teste %%L "%%T"
)
pause
goto:eof
:teste
if "%~2" equ "Austauschbares Laufwerk" echo %1
goto:eof
for %%L in (d e f g h i j k l m n o p q r s t u v w x y z) do (
fsutil fsinfo drivetype %%L:
FOR /F "tokens=2* delims= " %%S in ('fsutil fsinfo drivetype %%L:') do
call:teste %%L "%%T"
Das goto:eof springt dann nurnoch zum Ende der Batchdatei.
In der Unterprozedur "teste" wird dann mit
if "%~2" equ "Austauschbares Laufwerk"
Hier mal ein ungetesteter Entwurf von mir:
Die zeilen mit den echos sind zum testen hilfreich. Kannst du dann rausmachen wenn du willst udn siehst das alles so geht wie es soll.
Den start der Präsentation hab ich jetzt einfahc mal so mit powerpoint. Das must du ggf. anpassen.
@echo off
set "pfad=H:\pfad"
set "datei=Datei.ppt"
set "root=%~p0"
set "startfile="
dir "%pfad%\*.*" >NUL 2>NUL
if %errorlevel% == 1 (
echo "%pfad%" nicht vorhanden
echo suche nach "%root%\%datei%"
dir "%root%\%datei%" >NUL 2>NUL
if %errorlevel% == 1 (
echo "%root%\%datei%" nicht vorhanden
echo suche nach neuster datei in "%root%"
FOR /F "delims=" %%i in ('dir /B /OD "%root%\*.pp*"') do set "startfile=%~fi"
) else (
set "startfile=%root%\%datei%"
)
) else (
echo "%pfad%" vorhanden
dir "%pfad%\%datei%" >NUL 2>NUL
if %errorlevel% == 1 (
echo "%pfad%\%datei%" nicht vorhanden
echo suche nach "%root%\%datei%"
dir "%root%\%datei%" >NUL 2>NUL
if %errorlevel% == 1 (
echo "%root%\%datei%" nicht vorhanden
echo suche nach neuster datei in "%pfad%"
FOR /F "delims=" %%i in ('dir /B /OD "%pfad%\*.pp*"') do set "startfile=%~fi"
) else (
set "startfile=%root%\%datei%"
)
) else (
echo "%pfad%\%datei%" vorhanden
set "startfile=%pfad%\%datei%"
)
)
if not defined startfile (
echo Keine Präsentatinen gefunden
) else (
echo Starte Präsentation "%startfile%"
start powerpoint.exe "%startfile%"
)
Die zeilen mit den echos sind zum testen hilfreich. Kannst du dann rausmachen wenn du willst udn siehst das alles so geht wie es soll.
Den start der Präsentation hab ich jetzt einfahc mal so mit powerpoint. Das must du ggf. anpassen.
Das ganze funktioniert so, dass zu Begin sichergestellt wird das die Variable startfile keinen Wert enthält, also nicht definiert ist. Dann wird an den Vershciedenen orten in der entsprechenden Reihenfolge gesucht und bei einem Fund die Datei (also Dateiname mit Pfadangabe, in diese Variable geschrieben.
Am Ende wird kontrolliert ob in dieser Variabeln etwas steht. Wenn nicht kommt die Meldung (weil weder die gesuchte noch eine andere pp* Datei gefunden werden konnte). Wurde allerdings eine entsprechende datei gefunden, steht diese in der Variabeln startfile.
Am Ende wird kontrolliert ob in dieser Variabeln etwas steht. Wenn nicht kommt die Meldung (weil weder die gesuchte noch eine andere pp* Datei gefunden werden konnte). Wurde allerdings eine entsprechende datei gefunden, steht diese in der Variabeln startfile.
Den Schluss solltest du ändern:
In Zeile 5 sind die zusätzlichen "" drin weil sonst nichts startet. Siehe dazu die Hilfe vom start Befehl.
Zum rest kan ich nciths sagen, da ich ja ncith weiß ob Datei2 immer vorhanden ist.
Probiere es doch einfach aus und wenn was ncith geht kansn tud das hier ja schreiben.
if not defined startfile (
echo Keine Präsentationen gefunden
) else (
echo Starte Präsentation "%startfile%"
start "" "%startfile%"
)
start /Programme/vlc/vlc.exe %datei2%
if %errorlevel% == 1
(
echo "%datei2%" nicht vorhanden
) pause
In Zeile 5 sind die zusätzlichen "" drin weil sonst nichts startet. Siehe dazu die Hilfe vom start Befehl.
Zum rest kan ich nciths sagen, da ich ja ncith weiß ob Datei2 immer vorhanden ist.
Probiere es doch einfach aus und wenn was ncith geht kansn tud das hier ja schreiben.