2012-12-10 76 views
32

Tôi đang cố gắng chạy mã reg này trong cmd (tập tin bat), nhưng tôi không thể làm cho nó hoạt động. Tôi đang làm gì sai?Chạy lệnh reg trong cmd (tập tin bat)?

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel] 
"HomePage"=dword:00000001 

Nó hoạt động nếu tôi tạo tệp reg và nhấp đúp.

mã tập tin Bat (điều này không làm việc, không có lỗi):

@echo off 
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel" /V HomePage /T REG_DWORD /F /D 1 
+0

Có in ra bất kỳ lỗi nào? Thêm 'pause' làm dòng cuối cùng của tập tin dơi. –

Trả lời

42

Bạn có thể sẽ nhận được một cửa sổ UAC khi nhập file reg. Nếu bạn chấp nhận điều đó, bạn có nhiều quyền hơn.

Vì bạn đang viết thư cho khóa 'chính sách', bạn cần có quyền nâng cao. Điều này một phần của registry được bảo vệ, bởi vì nó chứa các thiết lập được quản trị viên hệ thống của bạn quản lý.

Hoặc, bạn có thể thử chạy regedit.exe từ dấu nhắc lệnh.

regedit.exe /S yourfile.reg 

.. nên âm thầm nhập tệp reg. Xem RegEdit Command Line Options Syntax để biết thêm tùy chọn dòng lệnh.

+2

Không nên có bất kỳ vấn đề UAC nào, anh ấy đang viết thư cho HKCU. –

+0

@harry Vâng, đúng. Ví dụ như một công trình (thay đổi homapage) REG THÊM "HKCU \ SOFTWARE \ MICROSOFT \ INTERNET EXPLORER \ CHÍNH"/V "BẮT ĐẦU TRANG"/D "http://www.ask.com/"/F – user198989

+1

Sai lầm của tôi. Tất nhiên khóa chính sách là một trường hợp đặc biệt. –

6

Nếu bộ nhớ phục vụ chính xác, lệnh reg add sẽ KHÔNG tạo toàn bộ đường dẫn thư mục nếu nó không tồn tại. Có nghĩa là nếu bất kỳ khóa đăng ký chính nào không tồn tại thì chúng phải được tạo theo cách thủ công. Nó thực sự gây phiền nhiễu, tôi biết! Ví dụ:

@echo off 
reg add "HKCU\Software\Policies" 
reg add "HKCU\Software\Policies\Microsoft" 
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer" 
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel" 
reg add "HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel" /v HomePage /t REG_DWORD /d 1 /f 
pause 
+0

Cảm ơn. Nhưng nó nói "quyền bị từ chối" – user198989

+4

Nếu nó được cho là 'quyền bị từ chối' thì 'reg add' cần phải được chạy với tư cách quản trị viên. Ngoài ra, bạn có thể loại bỏ hai câu lệnh reg đầu tiên từ ví dụ của tôi vì chúng hầu như luôn luôn tồn tại. Đối với một phương pháp lô để cấp đặc quyền quản trị xem bài đăng của tôi ở đây: http://stackoverflow.com/a/13869544/891976 –

+3

Sau đây chạy thành công trên máy tính Windows XP SP3 của tôi: 'reg add hkcu \ software \ aaa \ aaa/ve/t reg_sz'. Không có 'aaa' đã tồn tại trước khi chạy lệnh và cả hai đều được tạo ra với nó.Vì vậy, nó có nhiều khả năng là một vấn đề quyền thực sự. –

0

Bạn cũng có thể chỉ cần tạo một Group Policy Preference và có nó tạo ra chìa khóa reg cho bạn. (Không có kịch bản liên quan)

30

Trong dòng lệnh nó tốt hơn để sử dụng REG công cụ chứ không phải là REGEDIT:

REG IMPORT yourfile.reg 

REG được thiết kế cho chế độ giao diện điều khiển, trong khi REGEDIT là cho chế độ đồ họa. Đây là lý do tại sao chạy regedit.exe/S yourfile.reg là một ý tưởng tồi, vì bạn sẽ không được thông báo nếu có một lỗi, trong khi REG Công cụ sẽ nhắc nhở:

> REG IMPORT missing_file.reg 

ERROR: Error opening the file. There may be a disk or file system error. 

> %windir%\System32\reg.exe /? 

REG Operation [Parameter List] 

    Operation [ QUERY | ADD | DELETE | COPY | 
       SAVE | LOAD | UNLOAD | RESTORE | 
       COMPARE | EXPORT | IMPORT | FLAGS ] 

Return Code: (Except for REG COMPARE) 

    0 - Successful 
    1 - Failed 

For help on a specific operation type: 

    REG Operation /? 

Examples: 

    REG QUERY /? 
    REG ADD /? 
    REG DELETE /? 
    REG COPY /? 
    REG SAVE /? 
    REG RESTORE /? 
    REG LOAD /? 
    REG UNLOAD /? 
    REG COMPARE /? 
    REG EXPORT /? 
    REG IMPORT /? 
    REG FLAGS /? 
+1

Đó không phải là lời khuyên xấu, nhưng nó không phải là câu trả lời cho câu hỏi cụ thể này. (OP cho biết "Tôi đang cố gắng sử dụng reg, tại sao nó không hoạt động" vì vậy "bạn nên sử dụng reg thay vì regedit" là một không sequitur). Trong nháy mắt thứ hai, có vẻ như bạn đang trả lời câu trả lời được chấp nhận thay vì trả lời câu hỏi? Nó có lẽ nên được đăng như một bình luận sau đó, không phải là một câu trả lời. –

+7

Tôi nghĩ rằng câu hỏi là làm thế nào để "Chạy lệnh reg trong cmd (tập tin bat)?". Những người tìm kiếm một câu trả lời cho nó, sẽ nhận được ở đây ... Vì vậy, tôi tư vấn cho họ về một cách khác để nhập khẩu registry trong CMD. Nó chắc chắn tốt hơn Regedit. –

Các vấn đề liên quan