Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch Datei zum starten einer Präsentation

Frage Entwicklung Batch & Shell

Mitglied: Silver1986

Silver1986 (Level 1) - Jetzt verbinden

25.10.2008, aktualisiert 30.11.2008, 6509 Aufrufe, 18 Kommentare

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
Mitglied: miniversum
25.10.2008 um 13:09 Uhr
Was genau ist die Frage?
Prüfen ob eine config-Datei da ist:
01.
if exist D:\config.txt ...
Und starten einer Präsentation kanns tud ja z.B. über den powerpointviewer machen...
Bischen Infos und die bisherigen Bemühungen von dir wären gut.
Bitte warten ..
Mitglied: Silver1986
25.10.2008 um 20:27 Uhr
Na folgende Aufgabenstellung:

1. beim start einer livecd soll überpruft werden ob ein flash speicher am pc angeschlossen ist

a. wenn ja diesen öffnen -> Schritt 2
b. wenn nein infofenster zb "Keins Flashspeicher gefunden" nix weiter machen

2. den Flashspeicher nach eine bestimmten config datei durchsuchen (name noch unbekannt)

a. wenn vorhanden diese ausführen -> zusatz 1
b. wenn nicht vorhanden -> Schritt 3

3. Flashspeicher nach einer Präsentation durchsuchen (erstmögliche die er findet mit programm XYZ offnen, wenn keine vorhanden ist Infofenster zb Keine Präsentation gefunden) (Programm noch nicht bekannt, wahrscheinlich offic viewer)

Zusatz 1

der inhalt der config besagt öffne folgende Prässentation in odner so und so, wenn diese nicht vorhanden Fehlermeldung zb In der Config Angegebene Präsentation nicht vorhanden -> Schritt 3

Zusatz 2

wen nauf dem flashspeicher eine Winamp Playlist drauf ist diese auch automatisch starten, wenn nicht Meldung zb Keine Playlist gefunden, nix weiter tun



so mal der sin der batchdatei, und sie muss sich selbst beim starten der livecd ausführen
Bitte warten ..
Mitglied: miniversum
26.10.2008 um 09:23 Uhr
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.
01.
dir /s /b C:\*.txt
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.
Bitte warten ..
Mitglied: Silver1986
27.10.2008 um 11:36 Uhr
das ist schon mal nen guter anfang werde es mal ausprobieren danke schon mal
Bitte warten ..
Mitglied: Silver1986
31.10.2008 um 09:18 Uhr
irgendwie komm ich nicht vorran bin nun soweit, dass ich zwar sagen kann welche präsentation er mit welchem programm öffnen soll, aber das mit der suche funktioniert irgendwie nicht.

wie kann ich das nun machen, dass die batchdatei nach einem usb stick sucht (desen laufwerksbuchstaben nicht immer gleich ist) und darin eine bestimmte präsentation öffnet???

bitte um hilfe
Bitte warten ..
Mitglied: miniversum
31.10.2008 um 18:47 Uhr
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
01.
fsutil fsinfo drivetype
, 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:
01.
@echo off 
02.
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 ( 
03.
FOR /F "tokens=2* delims= " %%S in ('fsutil fsinfo drivetype %%L:') do call:teste %%L "%%T" 
04.
05.
pause 
06.
goto:eof 
07.
 
08.
:teste 
09.
if "%~2" equ "Austauschbares Laufwerk" echo %1 
10.
goto:eof
Dait kannst Du rausfinden welche Laufwerke in Frage kommen.
Bitte warten ..
Mitglied: Silver1986
04.11.2008 um 11:12 Uhr
kannst mir mal bitte noch kurz erklären was da oben genauer steht damit ich mir mal die befehle und so merke
Bitte warten ..
Mitglied: miniversum
04.11.2008 um 18:22 Uhr
01.
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 (
Geht die Liste (Buchstaben) einzeln durch. In der Variabeln %%L steht also nach einander jeder Buchstabe der Liste.
01.
fsutil fsinfo drivetype %%L:
Gibt für den Jeweiligen Laufwerksbuchstaben den Laufwerkstyp aus. Diese ausgabe wird mit Hilfer der zweiten, inneren For-Schleife abgefangen. Zusammen also:
01.
FOR /F "tokens=2* delims= " %%S in ('fsutil fsinfo drivetype %%L:') do 
01.
call:teste %%L "%%T"
Ruft die Unterprozedur "teste" bei jedem Durchlauf auf und übergibt den jeweiligen Laufwerksbuchstabe und den dazugehörige Typ (%%S).
Das goto:eof springt dann nurnoch zum Ende der Batchdatei.

In der Unterprozedur "teste" wird dann mit
01.
if "%~2" equ "Austauschbares Laufwerk"
kontrolliert ob der Laufwerkstyp (2. Parameter) ein austauschbares Laufwerk ist. Trift das zu wird der zugehörige Laufwerksbuchstabe ausgegeben.
Bitte warten ..
Mitglied: Silver1986
06.11.2008 um 08:22 Uhr
ah jetzt leuchtests ein werde das gleich mal probieren danke
Bitte warten ..
Mitglied: Silver1986
28.11.2008 um 08:25 Uhr
brauch mal noch zu folgendem problem eine lösung

wenn eine batch datei gestartet wir, soll im vorfeld 2 werte festgelegt werden

wert ein ist ein ordner und wert 2 eine datei

dannach soll die batchdatei das rootverzeichnis nach dem ersten wert durchsuchen, wenn dieser vorhanden ist, soll die batchdatei den ordner nach dem 2. wert durchsuchen. ist dieser vorhanden, soll die datei mit einem bestimmten programm gestartet gestartet werden.

ist der 2. wert nicht vorhanden, soll nach der zu letzt geänderten datei gesucht werden (im order von wert 1) und dies dann gestartet werden.
wobei aber, wenn der wert 2 im root vorhanden ist, soll er dies starten nicht die zuletzt geänderte datei aus wert 1.

ist der order aus wert eins nicht vorhanden soll im root nach wert 2 gesucht werden, ist dieser vorhanden, mit bestimmten programm öffnen. ist er nicht vorhanden, den root nach der zu letzt geänderten datei durchsuchen und diese dann starten.

ist keine datei und kein ordner vorhanden soll eine meldung erscheinen mit dem Inhalt "Keine Präsentatinen gefunden"

Die dateien werden vorwiegend .pp* sein.

würde mich auf schnelle hilfe freuen
Bitte warten ..
Mitglied: Silver1986
29.11.2008 um 11:09 Uhr
hat keiner eine idee hab leider nicht viel ahnung von bat dateien
Bitte warten ..
Mitglied: miniversum
29.11.2008 um 11:46 Uhr
Hier mal ein ungetesteter Entwurf von mir:
01.
@echo off 
02.
set "pfad=H:\pfad" 
03.
set "datei=Datei.ppt" 
04.
set "root=%~p0" 
05.
set "startfile=" 
06.
 
07.
dir "%pfad%\*.*" >NUL 2>NUL 
08.
if %errorlevel% == 1 ( 
09.
  echo "%pfad%" nicht vorhanden 
10.
  echo suche nach "%root%\%datei%" 
11.
  dir "%root%\%datei%" >NUL 2>NUL 
12.
  if %errorlevel% == 1 ( 
13.
    echo "%root%\%datei%" nicht vorhanden 
14.
    echo suche nach neuster datei in "%root%" 
15.
    FOR /F "delims=" %%i in ('dir /B /OD "%root%\*.pp*"') do set "startfile=%~fi" 
16.
  ) else ( 
17.
    set "startfile=%root%\%datei%" 
18.
19.
) else ( 
20.
  echo "%pfad%" vorhanden 
21.
  dir "%pfad%\%datei%" >NUL 2>NUL 
22.
  if %errorlevel% == 1 ( 
23.
    echo "%pfad%\%datei%" nicht vorhanden 
24.
    echo suche nach "%root%\%datei%" 
25.
    dir "%root%\%datei%" >NUL 2>NUL 
26.
    if %errorlevel% == 1 ( 
27.
      echo "%root%\%datei%" nicht vorhanden 
28.
      echo suche nach neuster datei in "%pfad%" 
29.
      FOR /F "delims=" %%i in ('dir /B /OD "%pfad%\*.pp*"') do set "startfile=%~fi" 
30.
    ) else ( 
31.
      set "startfile=%root%\%datei%" 
32.
33.
  ) else ( 
34.
    echo "%pfad%\%datei%" vorhanden 
35.
    set "startfile=%pfad%\%datei%" 
36.
37.
38.
 
39.
if not defined startfile ( 
40.
  echo Keine Präsentatinen gefunden 
41.
) else ( 
42.
  echo Starte Präsentation "%startfile%" 
43.
  start powerpoint.exe "%startfile%" 
44.
)
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.
Bitte warten ..
Mitglied: Silver1986
29.11.2008 um 16:37 Uhr
wow das ist gut klingt einleuschtent, aber eine frage hab ich noch wofür steht die variable startfile???
Bitte warten ..
Mitglied: miniversum
29.11.2008 um 16:54 Uhr
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.
Bitte warten ..
Mitglied: Silver1986
29.11.2008 um 17:24 Uhr
ahh, ok das hab ich jetzt kapiert und welcher befehl startet die zuletzt bearbeitete datei?
Bitte warten ..
Mitglied: miniversum
29.11.2008 um 18:10 Uhr
Das
start powerpoint.exe "%startfile%"
in Zeile 43 ist der Aufruf der Präsentation mit der Datei die gefunden wurde. Eben die angegebene oder zuletzt geänderte.
Bitte warten ..
Mitglied: Silver1986
30.11.2008 um 19:30 Uhr
hab das script mal an meine anforderungen angepasst wollte mal wissen ob das so alles stimmt.

@echo off
set "pfad=\praesentation"
set "datei=standart.pps"
Set “datei2=musik.m3u“
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%\*.pps"') 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äsentationen gefunden
) else (
echo Starte Präsentation "%startfile%"
start "%startfile%"
)

start /Programme/vlc/vlc.exe %datei2%
if %errorlevel% == 1
(
echo "%datei2%" nicht vorhanden
) pause
Bitte warten ..
Mitglied: miniversum
30.11.2008 um 22:00 Uhr
Den Schluss solltest du ändern:
01.
if not defined startfile ( 
02.
echo Keine Präsentationen gefunden 
03.
) else ( 
04.
echo Starte Präsentation "%startfile%" 
05.
start "" "%startfile%" 
06.
07.
 
08.
start /Programme/vlc/vlc.exe %datei2% 
09.
if %errorlevel% == 1 
10.
11.
echo "%datei2%" nicht vorhanden 
12.
) 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.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...