Variable = Pfad Programm ?

Hallo,
ich hoffe, jemand mir helfen, da ich schon alles mögliche ausprobiert habe und das Netz seit Tagen auf den Kopf stelle, um eine Lösung zu finden.

Ich möchte ein bestimmtes Programm auf dem Rechner suchen und dann den Namen des Pfades in einer Variablen haben, damit ich in dieses Verzeichnis eine Info-Datei kopieren kann.

Es ist sichergestellt, dass es das Programm auf dem Rechner gibt, da es zuerst installiert wird und somit kann es nicht sein, dass das Porgramm nicht vorhanden ist.

Feste Verzeichnisnamen habe ich bei der Installation des Programmes nicht, da diese von jedem individuell eingestellt werden können.

Der absolute Hit wäre dann noch, wenn ich ausserdem auch noch die Programmgruppe des Programmes ausfindig machen könnte, um auch dort den Link zu dieser Info-Datei einzubinden.
So könnte man diese aus dem Startmenü heraus aufrufen.

Dies alles möchte ich über eine Batch -wie folgt- regeln können.

Es sollte mgl. OS-Neutral funktionieren, denn es kann ein win98 oder w2k oder XP insatlliert sein.

( 1. installiere das Programm -Hat eigene Setup-Routine-

wenn fertig

  1. Kopiere Info1.pdf in das selbe Verzeichnis
    kopiere Info2.pdf in das selbe Verzeichnis

dann -mein Traumwunsch-

  1. Setze eine Verknüpfung von Info1.pdf in die selbe Programmgruppe wie das Hauptprogramm
    setze eine Verknüpfung von Info2.pdf in die selbe Programmgruppe wie das Hauptprogramm)

Wer kann mir Hilfen zu geben, um mich einer Lösung näher zu bringen?

Viele Grüße aus Düsseldorf
Joachim Röder

Hallo Joachim,

Ich möchte ein bestimmtes Programm auf dem Rechner suchen und
dann den Namen des Pfades in einer Variablen haben, damit ich
in dieses Verzeichnis eine Info-Datei kopieren kann.

Wenn das Programm im Suchpfad (%PATH%) steht, dann kannst Du folgendes versuchen@for %f in (notepad.exe) do @set x=%~$PATH:f Notepad.exe ist hier der Stellvertreter für Dein Proggi.

Es ist sichergestellt, dass es das Programm auf dem Rechner
gibt, da es zuerst installiert wird und somit kann es nicht
sein, dass das Programm nicht vorhanden ist.

Normalerweise hinterlassen Programme Einträge in der Registry vielleicht kannst Du entsprechende Abfragen der Registryeinträge erstellen. Im Registry sollte sich das Programm immer an der selben Stelle eintragen. Beispiel Adobe Acrobat Reader:reg query „HKEY_LOCAL_MACHINE\Software\Adobe\Acrobat Reader\8.0\InstallPath“ Das Ergebnis muss natürlich noch bearbeitet werden, aber das könnte Dir eventuell auch helfen.

Feste Verzeichnisnamen habe ich bei der Installation des
Programmes nicht, da diese von jedem individuell eingestellt
werden können.

Schade!

Der absolute Hit wäre dann noch, wenn ich außerdem auch noch […]

Evtl. auch über „REG QUERY“ möglich!?

Es sollte mgl. OS-Neutral funktionieren, denn es kann ein
win98 oder w2k oder XP insatlliert sein.

Solange es sich um Windows ab Win98 handelt sollte es passen.

Viele Grüße aus Düsseldorf
Joachim Röder

Noch mehr Grüße aus dem Süden Deutschlands :wink:
Volkmar

Hallo Volkmar,

der Weg klappt leider nicht.

Im %PATH stehts nicht und in in HKEY_LOCAL_MACHINE\Software auch nicht…

Gruß
Jo

Hallo Joachim,

das mit der Registry verwundert mich zwar ein wenig, aber dann eben Hardcore :wink:------ SCHNIPP: ff.bat ------
@echo off
setlocal
if „“ EQU „%1“ goto usage
set fp=
for /F „usebackq tokens=*“ %%f in (^(dir /b /s /A:smiley: /A:-H /a:-s %2^)^|findstr /E \\%1) do set fp=%%~dpf
set fp=%fp:~0,-1%
echo %fp%
endlocal
exit /b 0

usage

echo Auruf: ff ^ [^]
exit /b 1
----- SCHNAPP: ff.bat ------
ff wird mit mindestens einem Parameter, dem Namen der gesuchten Datei, gestartet. Der zweite und optionale Parameter ist ein Startverzeichnis ab dessen Position gesucht werden soll.

Beispiel: ff notepad.exe c:\

Diese Suche kann aber recht lange dauern :frowning:

Gibt es wirklich keine Registryeinträge??

Gruß
Volkmar

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Volkmar,

also da passiert garnichts.

Ich suche >>>> presentation.exe
diese liegt im Verzeichnis ??? Auf Platte ??? Aber im unbekannten Verzeichnis ???.. \bin\
das bin-Verzeichnis ist das einzig bekannte Unterverzeichnis in den … unbekannten übergeordneten Verzeichnissen.

Und nun soll in diese Verzeichnis die Info1.pdf und die Info2.pdf hinein.

Gruß
Joachim

Hallo Joachim,

den kleinen Batch aus meiner vorherigen Antwort musst Du ebenfalls auf den Zielrechner kopieren und er sollte in %PATH% verfügbar sein, damit Du ihn aufrufen kannst und Du solltest ihn vielleicht ein wenig auf Deine Bedürfnisse anpassen.

Angenommen auf dem Zielrechner ist das Betriebssystem unter „C:\Windows“ installiert, dann sollte das Ergebnis des Aufrufes „ff notepad.exe c:\Windows“ „C:\WINDOWS\system32“ sein.

Du kannst jetzt eine weitere Batchdatei schreiben, die „ff“ z.B. solange mit „ff presentation.exe :“ aufruft bis die Datei gefunden wurde (wobei „“ immer ein neuer Laufwerksbuchstabe ist) oder Du passt „ff“ direkt an Deine Bedürfnisse an.

Gruß
Volkmar

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]