Chuyên mục

Blogger
  • Blogger Template 8
    • Seo Blogspot 29
      • Thiết kế Blogspot 26
        • Thủ thuật Blogspot 79
          • Tiện ích Blogspot 31
            Máy tính
            • Phần mềm 45
              • Sửa lỗi Windows 20
                • Thủ thuật Windows 78
                  • Cài đặt Windows 43

                    Cách thay đổi hoặc xóa hàng loạt giá trị giống nhau trong một khóa regstry

                    Trong quá trình chỉnh sửa một giá trị nào đó trong một khóa registry ẳn hẳn bạn sẽ bắt gặp trong một khóa chính có rất nhiều khóa con và trong mỗi khóa con lại đều có một giá trị giống nhau nếu phải sửa thủ công từng giá trị một sẽ rất mất nhiều thời gian.

                    Lấy ví dụ về giá trị khóa chính có tên Packages nằm trong đường dẫn dưới đây:

                    Copy

                    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing


                    Trong Windows 10 thì dưới khóa chính Packages này có tồng cộng hơn 1 ngàn 5 trăm khóa con và trong mội khóa con đều có một giá trị REG_DWORD tên Visibility và có giá trị data bằng 2. Giá trị này được thiết lập làm ẩn gói packages.


                    Để làm hiện gói packages này mình phải thay đổi giá trị Visibility thành 1 hoặc xóa luôn giá trị này đi nhưng với hơn 1 ngàn 5 trăm khóa nếu làm thủ công từng khóa thì sẽ mất rất nhiều thời gian. Vậy bây giờ mình sẽ viết tệp batch và sẽ áp dụng tệp batch này làm thay đổi hàng loạt các giá trị giống nhau trong mỗi khóa.

                    Batch script sẽ dựa trên kịch bản được tạo trước được chuyển hóa nội dung kịch bản thành dòng lệnh để áp dụng trong Cmd, như vậy tôi phải lên nội dung kịch bản như sau:

                    "Trong khóa chính Packages đi tìm khóa có chứa giá trị Visibility nếu tìm thấy sẽ đồi giá trị này thành 1"

                    Vấn đề ở đây tất cả các khóa trong hơn 1 ngàn 5 trăm khóa đều có tên khác nhau và nó chỉ có điểm chung là đều có một giá trị REG_DWORD tên Visibility bên phải bằng 2. Như vậy mình phải thêm nội dung đi tìm từ khóa giống nhau của mỗi khóa trong tất cả các tên khóa đó.

                    Nếu như bạn để ý bạn sẽ thấy trong tất cả các khóa này ở mỗi khóa đều có một tên giống nhau ví dụ như Package hay 31bf3856ad364e35 vậy mình phải thêm vào nội dung "tìm từ khóa giống nhau"

                    Bây giờ mình sẽ chuyển nội dung thành scripts như sau:

                    Copy

                    @echo off

                    set key=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages

                    for /f "tokens=*" %%a in ('reg query "%key%" ^| findstr 31bf3856ad364e35 ') do (

                        reg add "%%a" /v "Visibility" /t REG_DWORD /d 1 /f

                    )

                    pause


                    QUAN TRỌNG: Một số khóa yêu cầu phải được cấp phép thì mới thực hiện được hành động chẳng hạn như khóa chính Packages do vậy bạn phải thiết lập quyền Full control cho khóa này bằng tài khoản thuộc nhóm Administrators thì mới áp dụng được.

                    Lưu lại với tên ví dụ reg-query.cmd định dạng All file và Encoding:ANSI. Khi chạy tập tin batch với quyền adminstrator sẽ làm thay đổi hàng loạt giá trị Visibility thành 1. Trường hợp nếu muốn xóa giá trị Visibility thì thay reg add "%%a" /v "Visibility" /t REG_DWORD /d 1 /f thành reg delete "%%a" /v "Visibility" /f.

                    Hi vọng bài viết sẽ giúp ích bạn.
                    Nội dung chính
                      Bài đăng mới hơn Bài đăng cũ hơn