bytexx
Goto Top

Batch variable in nächste batch mitnehmen

Hallo ich möchte ein kleines .bat programm schreiben und habe eine frage.
wie kann ich ein installations pfad herrausfinden und ihn als eine variable definieren.?

Content-ID: 506754

Url: https://administrator.de/forum/batch-variable-in-naechste-batch-mitnehmen-506754.html

Ausgedruckt am: 23.12.2024 um 03:12 Uhr

141320
141320 19.10.2019 aktualisiert um 15:04:22 Uhr
Goto Top
Da gibts viel Möglichkeiten, z.B. Registry auslesen
for /f "tokens=2*" %%a in ('reg query "HKLM\Software\Microsoft\Windows\Currentversion\Uninstall" /f "Firefox*" /d /s ^| find "InstallLocation"') do set "InstallLocation=%%b"  
echo %InstallLocation%
Oder mit dir /b /s nach einer Exe suchen lassen und über for-loop den Ordner ausgeben lassen , oder mit WMIC und Win32_Product abfragen , usw .....
Bytexx
Bytexx 19.10.2019 um 15:14:05 Uhr
Goto Top
kannst du mir die lösung mit der exe suchen lassen als code schreiben? ich habe meine regestry durchsucht und den inslallations pfad nicht gefunden. nur ganz viele rückstände die mir nicht helfen können. vielen dank schnonmal für deine forherige lösung
141320
141320 19.10.2019 aktualisiert um 15:28:48 Uhr
Goto Top
@echo off
set "InstallLocation="  
for /f "delims=" %%a in ('dir /b /s /a-d "C:\Program Files\Blablub.exe"') do if not defined InstallLocation set "InstallLocation=%%~dpa"  
if defined InstallLocation (
    echo %InstallLocation%
) else (
    echo Nicht gefunden
)
Bytexx
Bytexx 19.10.2019 aktualisiert um 15:32:07 Uhr
Goto Top
und nochmal bei dem regestry lösung: was muss ich druch was ersetzen, wenn ich diesen regestry pfad gefunden habe
rrgrg

hir der regestry pfad: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Blue Byte\The Settlers - Heritage of Kings
141320
141320 19.10.2019 aktualisiert um 15:29:34 Uhr
Goto Top
Bytexx
Bytexx 19.10.2019 aktualisiert um 15:37:03 Uhr
Goto Top
wäre trozdem toll wenn sie es mir sagen könnten ich probiere schon viel und habe diese code´s geschreiben:

@ECHO OFF
chcp 1252

ECHO    Log Eintrag %date%>>log.txt

set datei_name=(4)DasVolkerwandernAlpha_0.1.4.s5x
set datei=(4)_Das_Volkerwandern_Alpha_0.1.4.s5x
set pfad="C:\Program Files (x86)\Ubisoft\Blue Byte\DIE SIEDLER - Das Erbe der Könige - Gold Edition\extra2\shr\maps\user\"  
set datei_pfad=%pfad%%datei%
set weblink="https://cdn.discordapp.com/attachments/633849370504200224/633849498631667742/4Das_Volkerwandern_Alpha_0.1.4.s5x"  


DEL "C:\Program Files (x86)\Ubisoft\Blue Byte\DIE SIEDLER - Das Erbe der Könige - Gold Edition\extra2\shr\maps\user\%datei%"  

ECHO %time% Download Map!
ECHO %time% Download Map...>>log.txt
ECHO %time% Bitte Warten...

powershell -Command "(New-Object Net.WebClient).DownloadFile('http://cdn.discordapp.com/attachments/633849370504200224/633849498631667742/4Das_Volkerwandern_Alpha_0.1.4.s5x', 'Data\Download\(4)_Das_Volkerwandern_Alpha_0.1.4.s5x')"  
powershell -Command "%weblink% -OutFile %datei%"  

IF EXIST Data\Download\%datei% ECHO %time% Compled!>>log.txt
IF EXIST Data\Download\%datei% start Data\Installer.bat

IF NOT EXIST Data\Download\%datei% ECHO %time% Fehler!!!>>log.txt
IF NOT EXIST Data\Download\%datei% start Data\Log.bat
IF NOT EXIST Data\Download\%datei% exit


ECHO %time% Installiere...>>log.txt



exit

@ECHO OFF
chcp 1252


IF NOT EXIST %pfad% ECHO %time% ERROR!>>log.txt
IF NOT EXIST %pfad% start Data\log.bat
IF NOT EXIST %pfad% exit

IF EXIST %pfad% move Data\Download\*.s5x %pfad%
IF EXIST %datei_pfad% ECHO %time% Compled!>>log.txt
IF EXIST %pfad% start data\Log.bat

IF NOT EXIST %datei_pfad% ECHO %time% ERROR!>>log.txt
IF NOT EXIST %datei_pfad% exit



exit

@ECHO OFF


ECHO %time% Generiere Log...>>log.txt
IF EXIST log.txt ECHO %time% Compled!>>log.txt


IF EXIST %datei_pfad% echo msgbox"ALL OK_",vbInformation , "Installation Erfolgreich!                          "> %temp%\msg.vbs   
IF EXIST %datei_pfad% %Temp%\msg.vbs 
IF EXIST %datei_pfad% erase %temp%\msg.vbs

IF NOT EXIST %datei_pfad% echo msgbox"FEHLER_",vbInformation , "Installation Fehlgeschlagen!                   "> %temp%\msg.vbs   
IF NOT EXIST %datei_pfad% %Temp%\msg.vbs 
IF NOT EXIST %datei_pfad% erase %temp%\msg.vbs


IF EXIST %datei_pfad% ECHO   Map heruntergeladen und Installiert >>log.txt
IF EXIST %datei_pfad% ECHO -------------------------------------------->>log.txt


IF NOT EXIST %datei_pfad% ECHO x   Installation Fehlgeschlagen >>log.txt
IF NOT EXIST %datei_pfad% ECHO ---------------------------------------->>log.txt





exit

ich will ihn nur noch fertig bekommen
141320
141320 19.10.2019 aktualisiert um 15:44:39 Uhr
Goto Top
ich probiere schon viel
Nicht probieren, erst mal lesen dann üben und dann machen.
Tutorial zur FOR-Schleife
ich will ihn nur noch fertig bekommen
Dann hast du ja noch das ganze Wochenende face-wink.
Bytexx
Bytexx 19.10.2019 aktualisiert um 16:02:11 Uhr
Goto Top
Dann hast du ja noch das ganze Wochenende face-wink.
ich habe eine internet sperre weil ich 17 bin ´. ich darf nur 3 h pro tag an den rechner und kann nicht soche artikel einfach mal durchlesen und verstehen. (datenverarbeitung bei mir 9% von "normalen menschen" 50% ) da dauert sowas schon mal länger bis ich alles verstanden habe.
wenn sie trozdem meinen ich sollte es machen ok aber ich lerne besser indem ich sehe wie es geht und es dann nach mache
danke trozdem für jede antwort face-smile
Kartoffelpelle
Kartoffelpelle 28.10.2019 um 15:15:36 Uhr
Goto Top
Habe das Problem nicht ganz verstanden. Die Fragestellung ist etwas Lückenhaft ;)
Bin mir daher nicht sicher, ob es Hilft

for /f "delims=#" %%i in ('reg query "HKLM\SOFTWARE\WOW6432Node\Blue Byte\The Settlers - Heritage of Kings" /v InstallPath') do set "instpath=%%i"  
echo %instpath%

VG
Kartoffelpelle
Bytexx
Bytexx 17.03.2020 um 22:10:05 Uhr
Goto Top
danke hat geholfen