Millenium 10 Geschrieben 18. April 2008 Melden Teilen Geschrieben 18. April 2008 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 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 18. April 2008 Melden Teilen Geschrieben 18. April 2008 denke, hier passt das Thema besser rein :) cu blub Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 19. April 2008 Melden Teilen Geschrieben 19. April 2008 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 Zitieren Link zu diesem Kommentar
Millenium 10 Geschrieben 21. April 2008 Autor Melden Teilen Geschrieben 21. April 2008 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 Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 21. April 2008 Melden Teilen Geschrieben 21. April 2008 Dua kannst das auch relativ einfach mit http://www.kixtart.org/ machen, oder mit VBScript. -Zahni Zitieren Link zu diesem Kommentar
Millenium 10 Geschrieben 21. April 2008 Autor Melden Teilen Geschrieben 21. April 2008 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 Zitieren Link zu diesem Kommentar
Biber 10 Geschrieben 29. April 2008 Melden Teilen Geschrieben 29. April 2008 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.0HKEY_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.tmpWindows 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 Zitieren Link zu diesem Kommentar
5232joe 10 Geschrieben 5. Mai 2008 Melden Teilen Geschrieben 5. Mai 2008 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 Zitieren Link zu diesem Kommentar
Millenium 10 Geschrieben 9. Mai 2008 Autor Melden Teilen Geschrieben 9. Mai 2008 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 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.