Jump to content
Melde dich an, um diesen Inhalt zu abonnieren  
Millenium

Reg Schlüssel auslesen und in Batch Datei verarbeiten

Empfohlene Beiträge

Hallo zusammen,

 

Hab zur Zeit ein kleines Problem mit Batch Dateien, die ich allein nicht lösen kann. Hoffe Ihr könnt mir helfen.

 

Ziel:

- Installationspfad einer Software aus der Regitry auslesen.

- Den Installationspfad als Pfad bzw. Variable setzen.

- Kopier- und Sicherungs-Befehle durchführen.

 

Voraussetzung:

Es muss sowohl unter Win2000 als auch unter Win2003 funktionieren.

 

Problem:

Mit folgendem Kommando, habe ich es geschafft den Installationspfad auszulesen und als Pfad zu setzen. Leider funktioniert dies nur unter Win2003, weil unter Win2000 die Datei reg.exe nicht standardmäßig existiert. Ich weiss, reg.exe könnte hinzugefügt werden usw. aber es ist wichtig, dass es ohne zusätzliche Arbeit funktioniert und ich die Batch Datei einfach jemanden schicken kann, der es nur noch ausführen muss.

 

FOR /F "tokens=4 skip=3" %%i IN ('REG QUERY "HKLM\Software\Firma\Produkt" /ve') DO SET Pfad=%%i

 

Ich hoffe Ihr könnt mir weiterhelfen.

 

Danke und Gruß

Herra

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo Herra,

Da die reg.exe zum Betriebssystem von 2003 bzw. XP gehört, darfst du diese Datei aus Lizenzgründen auch gar nicht einfach verschicken.

 

Daher wirst du wohl VBS-Skripten müssen. Etliche Beispiele für die Registry findest du hier: Microsoft Corporation

 

cu

blub

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo blub,

 

dass ich die reg.exe nicht verschicken kann, ist mir klar.

Gibt es keine andere Möglichkeit per Command Line einen Registry-Schlüssel auszulesen und es dann weiter zu verarbeiten?

 

Danke und Gruß

Herra

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Leider kenne ich mich mit VBScript überhaupt nicht aus.

Werde mal gucken, ob ich es anders lösen kann, oder ob mir ein Bekannter sowas zusammen bastelt.

 

Danke euch für die Hilfe.

 

cu Herra

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Moin Herra,

 

ist ja schon einen Moment her, Deine Frage, aber falls Du noch keine ander Lösung hast:

 

Du kannst über Regedit.exe ausweichen, wenn Du kein Reg.exe vorfindest.

Demo am CMD-Prompt (eingegebene Zeilen beginnen mit ">"):

>reg Query "HKLM\Software\SQLTools 1.4" /ve

! REG.EXE VERSION 3.0

HKEY_LOCAL_MACHINE\Software\SQLTools 1.4
<NO NAME> REG_SZ D:\Programme\SQLTools 1.4
>regedit -e .\hier.tmp "HKEY_LOCAL_MACHINE\Software\SQLTools 1.4"

>type hier.tmp
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\SQLTools 1.4]
@="D:\\Programme\\SQLTools 1.4"

>For /f "tokens=2 delims==" %i in ('type hier.tmp^|find "@="') do @echo Set "theInstPath=%i"
Set "theInstPath="D:\\Programme\\SQLTools 1.4""
[/Code]

 

Also im Prinzip das gleiche Spiel mit einer FOR/F-Anweisung... nur auf eine "echte" Datei bezogen statt auf eine Bildschirmausgabe.

 

Grüße

Biber

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo!,

 

Bei mir schauts so aus.

 

@echo off & setlocal

REM "Ausgabe File in dem der Name des Outlook DefaultProfile steht"

set "OutFile=%userprofile%\Data.txt"

REM "Registry Eintrag wie der DefaultProfile Name von Outlook lautet"

set "R=HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\"

REM "Outlook DefaultProfile Name wird in Data.txt geschrieben"

for /f "tokens=3" %%i in ('reg query "%R%\profiles"^|findstr "REG_SZ"') do echo %%i>"%OutFile%"

ECHO miscprofile=%miscprofile%

REM "Outlook DefaultProfile Name wird übergeben"

for /f "tokens=3" %%i in ('reg query "%R%\profiles"^|findstr "REG_SZ"') do set miscprofile=%%i

set miscprofile=%miscprofile%

 

REM "Registry Pfad in dem der Schlüssel SyncMode angelegt werden muss, und der Wert auf 1 gestellt wird"

reg add HKEY_CURRENT_USER\Software\update.com\update.seven.groupware\Outlook\%miscprofile%\Settings\Appointments /v SyncMode /t REG_SZ /d 1 /f

 

reg add HKEY_CURRENT_USER\Software\update.com\update.seven.groupware\Outlook\%miscprofile%\Settings\Contacts /v SyncMode /t REG_SZ /d 1 /f

 

reg add HKEY_CURRENT_USER\Software\update.com\update.seven.groupware\Outlook\%miscprofile%\Settings\EMails /v SyncMode /t REG_SZ /d 1 /f

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hi 5232joe,

 

Sieht zwar gut aus, hilft mir aber leider nicht, da z.B: W2K den Befehl "reg query" nicht kennt.

 

Hi Biber,

 

Danke für den Tipp. Würde sogar funktionieren. Habe mich jetzt aber in AutoIt eingearbeitet und den Script damit erstellt.

 

Danke euch allen für die Tipps.

 

Gruß Herra

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
Melde dich an, um diesen Inhalt zu abonnieren  

×