Hallo,
ich möchte eine Batch schreiben in der abgefragt wird ob ein bestimmtes Programm vorhanden ist.
Es geht darum, dass jeder Rechner eine andere Installation hat. Z.B. Office hat je nach Version einen anderen Verzeichnisnamen.
Ich möchte wissen ob das Prog. powerpnt.exe installiert ist.
Wenn ja dann mache XX wenn nein dann XY.
In der Batch soll also ungefähr das stehen:
If exist (powerpnt.exe) goto weiter
Goto ende
weiter
xxx.ppt
ende
Ich habe keine Idee wie ich die Existenz des Programms abfragen kann.
Gibt es vielleicht eine Variable?
(Bitte fragt mich nicht nach dem Sinn dieser Batch — sie hat einen…)
Viele Grüße aus Düsseldorf
Joachim
Moin, Joachim,
der Registry-Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MSPowerPoint\protocol\StdFileEditing\server enthält das Installationsverzeichnis, bei mir zB „F:\Programme\Microsoft\Office\PowerPnt.exe“.
Gruß Ralf
Ji Joachim
ich möchte eine Batch schreiben in der abgefragt wird ob ein
bestimmtes Programm vorhanden ist.
Es geht darum, dass jeder Rechner eine andere Installation
hat. Z.B. Office hat je nach Version einen anderen
Verzeichnisnamen.
Ich möchte wissen ob das Prog. powerpnt.exe installiert ist.
Wenn ja dann mache XX wenn nein dann XY.
(Bitte fragt mich nicht nach dem Sinn dieser Batch — sie hat
einen…)
wäre doch nett, wenn du uns den mitteilen würdest 
vermutlich willst du jedem User einen Viewer unterjubeln, der Powerpoint nicht auf seinem PC hat.
Abgesehen davon, dass ich zB als User keine neuen Programme installieren lassen würde, gibt es im Powerpoint die Funktion Pack&Go. Die integriert mit der Präsentation auch gleich einen Viewer und du kannst dir den ganzen Schmarren mit Testen sparen
Gruss
ExNicki
Hallo ExNicki,
also ich will überhaupt nichts unterjubeln…
Ganz im Gegenteil:
Wenn ich den Player mitsende wird überhauptnichts installiert.
Der Player wird nur genutzt (aber NICHT installiert).
Die Funktion Pack&Go ist leider für mein Vorhaben ungeeignet.
Wenn jemand PP als Vollversion installiert hat kann er auch in den Genuss der Makros kommen. Mit dem Viewer geht dies nicht. Es ist also besser wenn er PP hat.
Hat aber nicht jeder.
Nun für deine Neugierde:
Ich will alles über eine Batch regeln, da:
- die meisten User garkeine Ahnung haben was sie machen sollen, wenn sie einfach nur eine PPT /PPS bekommen.
2.) Möchte ich so gut wie möglich verhindern, dass meine PPT verändert wird in dem einfach nur das PW knackt.
Mit deinem Kommentar komme ich aber nicht an die Lösung meiner Frage.
LG aus D’dorf
Joachim
Hallo Ralf,
so weit so gut.
Doch wie bekomme ich diese Abfrage in eine Batch?
Gruß
Joachim
Hi Joachim
also ich will überhaupt nichts unterjubeln…
Ganz im Gegenteil:
Wenn ich den Player mitsende wird überhauptnichts installiert.
Der Player wird nur genutzt (aber NICHT installiert).
Die Funktion Pack&Go ist leider für mein Vorhaben ungeeignet.
Wenn jemand PP als Vollversion installiert hat kann er auch in
den Genuss der Makros kommen. Mit dem Viewer geht dies nicht.
Es ist also besser wenn er PP hat.
Hat aber nicht jeder.
Nun für deine Neugierde:
Ich will alles über eine Batch regeln, da:
- die meisten User garkeine Ahnung haben was sie machen
sollen, wenn sie einfach nur eine PPT /PPS bekommen.
2.) Möchte ich so gut wie möglich verhindern, dass meine PPT
verändert wird in dem einfach nur das PW knackt.
Mit deinem Kommentar komme ich aber nicht an die Lösung meiner
Frage.
welchem? dass ich den Grund wissen wollte? Sieh mal: wenn du den gleich geschrieben hättest, hätte ich nicht Vermutungen aufstellen müssen und hätte auch nicht Pack&Go empfohlen.
Also macht das schon einen Sinn, ein paar Infos mehr zu posten.
Du vergeudest so nicht unnötige Zeit der hier Helfenden.
Ich wünsche dir weiterhin frohes Gelingen bei der Suche nach einer Lösung
Gruss
ExNicki
Hi,
leider mein engl. ist miserable.
Wenn ich getreg in meine Batch eintage kommt ein Fehler.
Wie bekomme ich es hin, dass POWERPNT.EXE in einer variablen steht oder wenn nicht vorhanden eben nichts.
Help
Joachim
Moin, Joachim,
Wenn ich getreg in meine Batch eintage kommt ein Fehler.
getreg runterladen (30-Tage-Version) und installieren.
Wie bekomme ich es hin, dass POWERPNT.EXE in einer variablen
steht
beim Aufruf mitgeben, also " powerpnt.exe" und im bat anstelle von powerpnt.exe %1 schreiben.
oder wenn nicht vorhanden eben nichts.
Die Frage verstehe ich nicht. Wenn Du kein Programm suchst, rufst Du den bat halt nicht auf.
Gruß Ralf
Hi,
meine geplante Batch möchte ich ja weitergeben.
wenn dann auf einem anderen Rechner diese Batch ausgeführt wird kommt es
doch sicherlich zu einer Fehlermeldung, da ja Getreg nicht installiert ist. Oder irre ich mich?
Gruß
Jo
Hallo.
ich möchte eine Batch schreiben in der abgefragt wird ob ein
bestimmtes Programm vorhanden ist.
Es geht darum, dass jeder Rechner eine andere Installation
hat. Z.B. Office hat je nach Version einen anderen
Verzeichnisnamen.
Ich möchte wissen ob das Prog. powerpnt.exe installiert ist.
Wenn ja dann mache XX wenn nein dann XY.
Es gibt unter Windows XP (ich glaube, unter 2000 gab es das auch schon) einen Befehl namens „assoc“. Der zeigt an, welche Dateiendungen mit welchem Programm verknüpft sind. Wenn dort also eine Zeile auftaucht, die mit „.ppt=“ anfängt, sind ppt-Dateien mit einer installierten Anwendung verknüpft. Das sollte dann in der Regel Powerpoint sein.
Die Ausgabe des Befehls müsste man eigentlich irgendwie per Batch verarbeiten können, wahrscheinlich am einfachsten per for-Schleife.
Das dürfte dann in etwa so gehen (ohne Garantie auf Korrektheit):
@echo off
setlocal
set file=datei.ppt
set viewer=viewer.exe
set found=0
for /f %%a in ('assoc') do call :check %%a
if "%found%" == "0" %viewer% %file%
endlocal
goto :eof
> check
if "%1" == ".ppt" set found=1 && start %file%
Die Zeilen set file (Pfad und Dateiname der ppt-Datei) und set viewer (Pfad und Dateiname des Viewers) musst du anpassen. Ich habe dabei angenommen, dass der Viewer die zu zeigende Datei einfach als Parameter nimmt.
Falls eine Zuordnung eines Programms zu ppt-Dateien gefunden wird, wird dieses gestartet.
Sebastian.
Ergänzung
Hallo.
ich möchte eine Batch schreiben in der abgefragt wird ob ein
bestimmtes Programm vorhanden ist.
Es geht darum, dass jeder Rechner eine andere Installation
hat. Z.B. Office hat je nach Version einen anderen
Verzeichnisnamen.
Ich möchte wissen ob das Prog. powerpnt.exe installiert ist.
Wenn ja dann mache XX wenn nein dann XY.
Es gibt unter Windows XP (ich glaube, unter 2000 gab es das
auch schon) einen Befehl namens „assoc“. Der zeigt an, welche
Dateiendungen mit welchem Programm verknüpft sind. Wenn dort
also eine Zeile auftaucht, die mit „.ppt=“ anfängt, sind
ppt-Dateien mit einer installierten Anwendung verknüpft. Das
sollte dann in der Regel Powerpoint sein.
Die Ausgabe des Befehls müsste man eigentlich irgendwie per
Batch verarbeiten können, wahrscheinlich am einfachsten per
for-Schleife.
Das dürfte dann in etwa so gehen (ohne Garantie auf
Korrektheit):
@echo off
setlocal
set file=datei.ppt
set viewer=viewer.exe
set found=0
for /f %%a in ('assoc') do call :check %%a
if "%found%" == "0" %viewer% %file%
endlocal
goto :eof
:check
> Die Zeilen set file (Pfad und Dateiname der ppt-Datei) und set
> viewer (Pfad und Dateiname des Viewers) musst du anpassen. Ich
> habe dabei angenommen, dass der Viewer die zu zeigende Datei
> einfach als Parameter nimmt.
> Falls eine Zuordnung eines Programms zu ppt-Dateien gefunden
> wird, wird dieses gestartet.
>
> Sebastian.