132749

Programm mit Laufwerkzuweisung und Registryabfrage per Batch starten

Hallo zusammen,
besteht die Möglichkeit ein Programm mit Laufwerkzuweisung und Registryabfrage per Batch zu starten?
Bislang nutze ich 5 Batch-Scripte was ich nun in einer Batch zusammenführen möchte wenn es denn möglich ist!?

Das Programm soll gestartet werden wenn einer der Laufwerkbuchstaben (C/D/E/F/X) in der Registry vorhanden ist:
HKEY_LOCAL_MACHINE\SOFTWARE\myProgramm "Drive"="C"

So sieht eine der 5 Batch bislang aus:

@ECHO OFF
set BEFOREDATE=%date:~%
date 11-01-2000
Start C:\Programme\myProgramm\Start.exe "C:\Programme\myProgramm\Start.INI"  
ping -n 10 127.0.0.1 > NUL 2>&1
date %BEFOREDATE%
END


Ich hoffe, dass ich mich richtig ausgedrückt habe und IHR mir hier weiterhelfen könnt.
Für die Mühe bedanke ich mich im Voraus und wünsche einen guten Start in die Woche
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 356156

Url: https://administrator.de/forum/programm-mit-laufwerkzuweisung-und-registryabfrage-per-batch-starten-356156.html

Ausgedruckt am: 04.05.2025 um 06:05 Uhr

rubberman
rubberman 26.11.2017 um 12:12:59 Uhr
Goto Top
reg query "HKLM\SOFTWARE\myProgramm" /v "Drive" | >nul findstr /rec:" [CDEFX]" || exit /b  
Diese Zeile führt dazu, dass das Script sofort beendet wird, wenn keiner der angegebenen Laufwerksbuchstaben gefunden wird.

Steffen
132749
132749 26.11.2017 um 14:40:10 Uhr
Goto Top
Vielen Dank für deine Antwort rubberman.
Das funktioniert ganz gut aber leider nur für das Laufwerk C!

Besteht die Möglichkeit einer Laufwerkszuordnung für die Zeile 7 vorzunehmen?
Das zu startende Programm hat bis auf den Laufwerkbuchstaben (C/D/E/F/X) immer den gleichen Pfad!

@ECHO OFF
reg query "HKLM\SOFTWARE\myProgramm" /v "Drive" | >nul findstr /rec:" [CDEFX]" || exit /b  

set BEFOREDATE=%date:~%
date 11-01-2000

Start C:\Programme\myProgramm\Start.exe "C:\Programme\myProgramm\Start.INI"  

ping -n 10 127.0.0.1 > NUL 2>&1
date %BEFOREDATE%
END
rubberman
rubberman 26.11.2017 um 14:52:21 Uhr
Goto Top
Mal sehen ob ich dich richtig verstanden habe ...
@echo off &setlocal

set "key=HKLM\SOFTWARE\myProgramm"  
set "value=Drive"  
set "validdata=CDEFX"  

set "drive="  
for /f "tokens=3" %%i in ('2^>nul reg query "%key%" /v "%value%" ^| findstr /reic:"\<[%validdata%]:*"') do set "drive=%%i"  
if not defined drive (
  echo Laufwerksbuchstabe ist nicht in %validdata% oder Key existiert nicht.
  pause
  exit /b
)
set "drive=%drive:~,1%:"  

set "BEFOREDATE=%date:* =%"  
date 11-01-2000

Start "" "%drive%\Programme\myProgramm\Start.exe" "%drive%\Programme\myProgramm\Start.INI"  

ping -n 10 127.0.0.1 > NUL 2>&1
date %BEFOREDATE%
Steffen
132749
132749 27.11.2017 um 21:23:41 Uhr
Goto Top
Hallo rubberman,
Du hast mich richtig verstanden!

Vielen, Vielen Dank für deine Hilfe!

Das einzige was ich geändert habe ist die Zeile 11 die ich durch Zeile 21 ersetzt habe!