So fügen Sie eine REG_NONE Wert leer mit Batch?
Dieses registry-Skript schreibt eine REG_NONE
leeren Wert in der reg-editor (dargestellt als binäre Daten):
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\keyname]
"valuename"=hex(0):
(die Englisch-übersetzung der Daten-Beschreibung im Bild oben ist: "zero-length" - binary-Wert")
Brauche ich, um zu reproduzieren das gleiche in Batch (Verbesserung der Reg2Bat Konverter), aber wenn ich versuche dieses:
REG ADD "HKCU\keyname" /V "valuename" /T "REG_NONE" /D "" /F
Es fügt die Daten:
Vielleicht die reg.exe Befehl ist nicht kompatibel mit der REG_NONE
valuetype? (der Befehl help sagt aus, dass Ihr einen unterstützten Wert, aber... Sie sehen)
Wie ich könnte wirklich ein REG_NONE
leeren Wert?
- Meiner Meinung nach ist es ein design-Fehler im code (bug) von REG zur Unterstützung von Typ REG_NONE, aber das hinzufügen einen Wert dieses Typs mit
00 00
(terminierenden einer Unicode-Zeichenfolge), auch wenn/D "..."
ist nicht in der Befehlszeile angegeben.REG ADD "HKCU\Key Name" /V "Value Name" /T REG_NONE /F
sollte die Arbeit tun, aber definitiv nicht, was könnte interpretiert werden als Fehler von REG lohnt sich bei Microsoft gemeldet. - danke für den Kommentar, getestet hab ich den gleichen Befehl in Windows XP und der daraus resultierende Wert ist die gleiche null-Zeichenfolge: '00 00', wissen Sie, den link zum Bericht einen möglichen Fehler an Microsoft?
- Reporting bugs in Windows und die installierten tools ist sehr schwierig, wie es gelesen werden kann auf Wo melde ich einen bug in Windows 7? und Wie melde ich einen bug in Windows 7? gibt Es mehr oder weniger keine andere Methode als die Kontaktaufnahme mit Microsoft support per Telefon zu berichten, Dinge wie diese und hoffe, dass die person, die von Microsoft-support interpretiert es auch als ein Problem zu verarbeiten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur die böse option, die ich bisher gefunden ist die Schaffung einer .reg-Datei und importieren Sie diese ein:
REG_NONE ist eine Besondere Art, die durch die Umsetzung details (die commandline-tools sind optimiert für String-und multi-string) kann nur erstellt werden, mit der Länge null binärer Wert durch die RegSetValueEx windows api. Die übergeordnete api ' s wie das auf den WMI-Anbieter erlauben nur für SetBinaryValue und es gibt keine
SetNoneValue
. NebenREG
es gibt auch eine option zur Verwendung von wmic, der sitzt ein wenig näher auf den WMI-Anbieter aber immer noch nicht, können Sie erstellen eine REG_NONE geben (es tut ermöglichen Ihnen das erstellen von null-Länge REG_BINARY, etwas, das REG ist auch nicht in der Lage, das zu tun)Den nächsten leer Binär-Wert, den Sie bekommen können mit diesem Befehl (zur Verfügung gestellt von MC ND)
ist ein zwei null-bytes:
00 00
beziehen, die durch die zwei null-Zeichen Kündigung aus (die nicht mit der option/d
) multi-Stringreg.exe
), und es ist nicht richtig zu sagenreg.exe
können nicht erstellen Sie eine leere Binär-Wert:reg add "hkcu\volatile environment" /v test /t reg_binary
. Das problem mitreg.exe
ist, dass, wenn der Typ reg_none, es liest die Kommandozeile abrufen, einen reg_multi_sz-Wert, der Grund für die 0x00 0x00 Wert, ein Doppel-null-terminated string.Nur meine erweiterte Lösung basiert auf @KennyBOT Antwort:
Verwendung:
Oh, und Jungs, vergessen Sie nicht, zu versuchen meine Anwendung und meldet mir bitte bugs (wenn vorhanden) 🙂
QUELLCODE (VB.NET): http://www.mediafire.com/download/1h3zbymfhnb3spt/REG2BAT.rar