stefan1994
Goto Top

Installations verzeichnis eines Programmes finden

Hi

Ich hab mir heute im laufe des eine Batch datei gebastelt, wer hätte das gedacht. :D
Die Batch datei kopiert ein paar Dateien.
Die Batch datei ist mehr ein Installations Programm.

Nur mein Problem ist jetzt das jeder sein Programm woanders installiert hat. Gibt es irgend eine Variable in der das Installationsverzeichnis gespeichert ist?
Ich denke dabei an etwas wie "%applicationdir%\Programmname"


Ich hoffe ihr versteht was ich meine und könnt mir weiterhelfen. :D


P.S. Ich brauch das Installations verzeichnis, %appdata% hilft mir nicht...


MfG. Stefan

Content-ID: 123095

Url: https://administrator.de/contentid/123095

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

rzlbrnft
rzlbrnft 20.08.2009 um 04:49:15 Uhr
Goto Top
Das geht so nicht, wenn du nicht sicher sein kannst das die Installation auch im Standard Programmverzeichnis liegt.
Dazu brauchst du schon eine Batch Datei die in der Registry das Installationsverzeichnis des Programms ausliest.
Natürlich nur wenn das Programm bei der Installation auch einen Pfad in der Registry anlegt.
Per Batch geht das evtl. mit Zusatztools, einfacher wäre aber ein VBScript zu benutzen.
stefan1994
stefan1994 20.08.2009 um 06:30:40 Uhr
Goto Top
Zusatztolls ist schlecht da es ja verschiedenen Clienten bekommen und dann jeder diese Zusatztools installieren müsste...
VBS kann ich leider nicht.
Also hat villeicht noch jemand eine Idee?


MfG
Logan000
Logan000 20.08.2009 um 08:12:08 Uhr
Goto Top
Moin Moin

Also hat villeicht noch jemand eine Idee?
Warum? Die Idee war doch erstmal nicht schlecht.

Schau mal in der Regitry unter:
HKLM/Software/Microsoft/Windows/CurrentVersion/Uninstall nach. Da solten alle installierten Programme mit einem Schlüssel vertreten sein.
In diesem findest Du auch DistplayName und InstallLocation.

Wenn Dein Programm sich dort verewigt hat kannst du doch den Pfad per Batch auslesen und verwenden.

Gruß L.
rubberman
rubberman 20.08.2009 um 22:59:01 Uhr
Goto Top
Hallo stefan1994,

suche nach einer spezifischen Datei, die nur bei diesem Programm vorkommt (zB. die *.exe)
@echo off &setlocal

set Datei=Programm.exe
::        ^^^^^^^^^^^^^^^^^^^-hier die zu suchende Datei eintragen

set Laufwerke=C D
::            ^^^^^^^^^^^^^^^^^^^-hier die möglichen Laufwerke eintragen (Leerzeichen-getrennt!)

for %%i in (%Laufwerke%) do (
 for /f "tokens=3" %%j in ('dir %%i:\ 2^>nul^|findstr "%%i:\\"') do (  
  for %%k in (%%j) do (
   if defined FullName goto weiter else (
    call :Sub %%k
    for /f "tokens=*" %%l in ('dir /a: r a /b /s \ ^| findstr /e /i "%Datei%"') do set "FullName=%%l"  
    popd
   )
  )
 )
)
:weiter
if not defined FullName (
 echo  %Datei% konnte nicht gefunden werden!
 echo.
 echo  Folgende Laufwerke konnten durchsucht werden:
 if defined dLW (
  echo  %LW%
 ) else (
  echo   keine
 )
 echo  von Vorgabe:
 echo   %Laufwerke%
 echo.
 pause
 goto :eof
)
echo %FullName%
echo.
pause
goto :eof

:Sub
pushd %1 2>nul
if not errorlevel 1 set "LW=%LW% %1"  
goto :eof

Grüße
rubberman
stefan1994
stefan1994 21.08.2009 um 00:29:46 Uhr
Goto Top
Hi

Dank an Logan.

Das Programm hat sogar einen Schlüssel unter HKLM/Software :D

Danke

MfG. Stefan
Logan000
Logan000 21.08.2009 um 08:56:18 Uhr
Goto Top
Moin

Sei doch bitte so gut und setze den Beitrag auf erledigt.

Gruß L
stbewo
stbewo 21.08.2009 um 13:12:26 Uhr
Goto Top
Hi Stefan,

Du kannst auch damit etwas spielen ( ab XP SP2)

WMIC product get name, version, InstallLocation

Gruß
Stefan