هل من الممكن تعديل إدخال التسجيل عبر البرنامج النصي .bat/.cmd؟

StackOverflow https://stackoverflow.com/questions/130193

سؤال

هل من الممكن تعديل قيمة التسجيل (سواء كانت سلسلة أو DWORD) عبر البرنامج النصي .bat/.cmd؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام الأمر REG.من http://www.ss64.com/nt/reg.html:

Syntax:

   REG QUERY [ROOT\]RegKey /v ValueName [/s]
   REG QUERY [ROOT\]RegKey /ve  --This returns the (default) value

   REG ADD [ROOT\]RegKey /v ValueName [/t DataType] [/S Separator] [/d Data] [/f]
   REG ADD [ROOT\]RegKey /ve [/d Data] [/f]  -- Set the (default) value

   REG DELETE [ROOT\]RegKey /v ValueName [/f]
   REG DELETE [ROOT\]RegKey /ve [/f]  -- Remove the (default) value
   REG DELETE [ROOT\]RegKey /va [/f]  -- Delete all values under this key

   REG COPY  [\\SourceMachine\][ROOT\]RegKey [\\DestMachine\][ROOT\]RegKey

   REG EXPORT [ROOT\]RegKey FileName.reg
   REG IMPORT FileName.reg
   REG SAVE [ROOT\]RegKey FileName.hiv
   REG RESTORE \\MachineName\[ROOT]\KeyName FileName.hiv

   REG LOAD FileName KeyName
   REG UNLOAD KeyName

   REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/v ValueName] [Output] [/s]
   REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/ve] [Output] [/s]

Key:
   ROOT :
         HKLM = HKey_Local_machine (default)
         HKCU = HKey_current_user
         HKU  = HKey_users
         HKCR = HKey_classes_root

   ValueName : The value, under the selected RegKey, to edit.
               (default is all keys and values)

   /d Data   : The actual data to store as a "String", integer etc

   /f        : Force an update without prompting "Value exists, overwrite Y/N"

   \\Machine : Name of remote machine - omitting defaults to current machine.
                Only HKLM and HKU are available on remote machines.

   FileName  : The filename to save or restore a registry hive.

   KeyName   : A key name to load a hive file into. (Creating a new key)

   /S        : Query all subkeys and values.

   /S Separator : Character to use as the separator in REG_MULTI_SZ values
                  the default is "\0" 

   /t DataType  : REG_SZ (default) | REG_DWORD | REG_EXPAND_SZ | REG_MULTI_SZ

   Output    : /od (only differences) /os (only matches) /oa (all) /on (no output)

نصائح أخرى

@ فرانسي بينوف - تعديل يكون ممكن بمعنى الكتابة فوق مع /f, على سبيل المثال

reg add "HKCU\Software\etc\etc" /f /v "value" /t REG_SZ /d "Yes"

نعم، يمكنك الكتابة باستخدام reg يأمر.مثال:

reg add HKCU\Software\SomeProduct
reg add HKCU\Software\SomeProduct /v Version /t REG_SZ /d v2.4.6

وهذا من شأنه أن يخلق المفتاح HKEY_CURRENT_USER\Software\SomeProduct, وأضف قيمة سلسلة "v2.4.6" باسم "الإصدار" إلى هذا المفتاح.

reg /? لديه التفاصيل.

هذه هي الطريقة التي يمكنك من خلالها تعديل السجل، بدون مطالبة بنعم أو لا ولا تنس تشغيله كمسؤول

reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\etc\etc   /v Valuename /t REG_SZ /d valuedata  /f 

يوجد أدناه مثال حقيقي لتعيين Internet Explorer كمتصفح افتراضي

reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice   /v ProgId /t REG_SZ /d IE.HTTPS  /f 

/و القوة:إجبار تحديث دون الحث على "قيمة موجودة ، الكتابة فوق y/n"

/ د البيانات :البيانات الفعلية المراد تخزينها كـ "سلسلة" أو عدد صحيح وما إلى ذلك

/القيمة :اسم القيمة، على سبيل المثال ProgId

/ ر نوع البيانات :reg_sz (افتراضي) | reg_dword | reg_expand_sz | reg_multi_sz

تعرف على المزيد حول قراءة مفاتيح التسجيل والقيم أو تعيينها أو حذفها، وحفظها واستعادتها من ملف .REG.من هنا

يمكنك إنشاء ملف .reg وبدء المكالمة عليه.يمكنك تصدير أي جزء من السجل كملف .reg لمعرفة التنسيق.

التنسيق هنا:

http://support.microsoft.com/kb/310516

يمكن تشغيل هذا على أي جهاز يعمل بنظام Windows دون تثبيت برامج أخرى.

نعم.يمكنك استخدام reg.exe الذي يأتي مع نظام التشغيل لإضافة قيم التسجيل أو حذفها أو الاستعلام عنها.لا يحتوي Reg.exe على أمر تعديل صريح، ولكن يمكنك القيام بذلك عن طريق إجراء الحذف ثم الإضافة.

بالإضافة إلى reg.exe، أوصي بشدة أيضًا بمراجعة powershell، فهو أكثر قدرة إلى حد كبير في التعامل مع التسجيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top