Wert in Registry per Batch ändern den User über Abfrage eingibt
Hallo Alle
Ich brauche noch einen letzten Schubs damit meine Batch funktioniert.
Ich möchte einen Registry Wert (Win XP) per Batch ändern.
Dieser Wert soll vorher über die Batch (Usereingabe) abgefragt werden und danach an die reg datei als dword wert übergeben werden.
Die Usereingabe per Batch funktioniert schon,wie ich per Batch die Registry ändern kann weiss ich auch, ich hab nur keinen Plan wie ich den Wert den der User eingibt an die reg datei übergeben kann
Beispiel:
Inhalt der Reg Datei:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"DisablePagingExecutive"=dword:00000001
Ich möchte nun erreichen,daß der dword Wert durch den Wert den der User bei der Abfrage eingibt ersetzt wird und danach die Reg Datei in die Registry geschrieben wird.
Wie erreiche ich eine solche Übergabe ?
Vielen Dank für die Hilfe
Gruß
Claus
Ich brauche noch einen letzten Schubs damit meine Batch funktioniert.
Ich möchte einen Registry Wert (Win XP) per Batch ändern.
Dieser Wert soll vorher über die Batch (Usereingabe) abgefragt werden und danach an die reg datei als dword wert übergeben werden.
Die Usereingabe per Batch funktioniert schon,wie ich per Batch die Registry ändern kann weiss ich auch, ich hab nur keinen Plan wie ich den Wert den der User eingibt an die reg datei übergeben kann
Beispiel:
Inhalt der Reg Datei:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"DisablePagingExecutive"=dword:00000001
Ich möchte nun erreichen,daß der dword Wert durch den Wert den der User bei der Abfrage eingibt ersetzt wird und danach die Reg Datei in die Registry geschrieben wird.
Wie erreiche ich eine solche Übergabe ?
Vielen Dank für die Hilfe
Gruß
Claus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 69208
Url: https://administrator.de/contentid/69208
Ausgedruckt am: 17.11.2024 um 09:11 Uhr
10 Kommentare
Neuester Kommentar
du legst dir halt die möglichen werte unter wert1 - 3.reg ab und machst das über eine abfrage, früher choice:
habs zwar nicht getestet, müsste aber funktionieren
eine direkte eingabe des wertes wird meiner meinung nicht funktionieren.
echo off
:start
set /P X= (1) Wert eins, (2) Wert zwei, (3) Wert 3
if /I "%X%"=="1" goto :1
if /I "%X%"=="2" goto :2
if /I {{comment_strings:3925928686}}=={{comment_strings:2497761657}} goto :3
:1
regedit /s LW:\Pfad\Wert1.reg
goto weiter
:2
regedit /s LW:\Pfad\Wert2.reg
goto weiter
:3
regedit /s LW:\Pfad\Wert3.reg
goto weiter
:weiter
habs zwar nicht getestet, müsste aber funktionieren
eine direkte eingabe des wertes wird meiner meinung nicht funktionieren.
Ich würdes das als VBS realisieren.
Set WshShell=WScript.CreateObject("WScript.Shell")
Const RegKey = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\DisablePagingExecutive"
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen
' In RegSchreiben
WshShell.RegWrite RegKey , value , "REG_DWORD"
Ich will logan ja nicht die show stellen - aber bei mir funkts.
hast du auch das script in eine separate datei eingefügt ? zb. registry.vbs ?
INHALT REGISTRY.VBS
INHALT DEIN BATCHFILE .BAT
wobei die beiden dateien nun im selben ordner sein müssen.
batch und vbs verträgt sich nicht wirklich in einer datei
hast du auch das script in eine separate datei eingefügt ? zb. registry.vbs ?
INHALT REGISTRY.VBS
> Set
> WshShell=WScript.CreateObject("WScript.Shell")
>
> Const RegKey =
> "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
> Manager\Memory
> Management\DisablePagingExecutive"
>
> value = inputbox("Bitte Wert
> eingaben","DisablePagingExecutive")
> ' Wert abfragen
>
> ' In RegSchreiben
> WshShell.RegWrite RegKey , value ,
> "REG_DWORD"
INHALT DEIN BATCHFILE .BAT
.....
echo off
registry.vbs
....
wobei die beiden dateien nun im selben ordner sein müssen.
batch und vbs verträgt sich nicht wirklich in einer datei
Interessant wäre noch ob man den Bereich der zulässigen Werte irgendwie einschränken könnte.
Also z.B
nur Zahlen zulässig
oder nur Zahlen im Bereich von x bis y
oder nur Text
oder auch nur YES or NO
Also z.B
nur Zahlen zulässig
oder nur Zahlen im Bereich von x bis y
oder nur Text
oder auch nur YES or NO
Klar geht das. Ersetze/Ergänze das:
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen
durch:'nur Zahlen zulässig
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen
if isnumeric(value) = false then
value = 0
end if
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen
if isnumeric(value) = false then
value = 0
end if
'nur Zahlen im Bereich von x bis y
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen
if isnumeric(value) = true then
if value <= x and value >= y then
value = 0
end if
end if
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen
if isnumeric(value) = true then
if value <= x and value >= y then
value = 0
end if
end if
'nur Text
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen
if isnumeric(value) = true then
value = "War ne Zahl"
end if
value = inputbox("Bitte Wert eingaben","DisablePagingExecutive") ' Wert abfragen
if isnumeric(value) = true then
value = "War ne Zahl"
end if
'nur YES or NO
value = msgbox("Bitte Wert eingaben",vbyesno) ' Wert abfragen
if value = vbyes then
value = 1
else
value = 0
end if
value = msgbox("Bitte Wert eingaben",vbyesno) ' Wert abfragen
if value = vbyes then
value = 1
else
value = 0
end if
miniversum
Wenn ich bei der Inputbox auf abbrechen klicke deaktiviert er die Funktion und ich
bekomme auch das entsprechende Infofenster eingeblendet.
Wie kann ich das unterbinden ?
bekomme auch das entsprechende Infofenster eingeblendet.
Wie kann ich das unterbinden ?
Gibst du nichts ein (Abbrechen) dann ist value keine zahl.
durch isnumeric(value) wird value in 0 umgewandelt.
Prüf vorher auf <>""
value = inputbox("Bitte 1 für Aktivieren oder 0 für Deaktivieren eingeben","Dll´s immer aus dem Speicher entladen") ' Wert abfragen
If value<>"" Then
......
end if