Làm cách nào để thêm dữ liệu vào giá trị sổ đăng ký Windows trong tệp bó?


1

Làm cách nào để thêm dữ liệu vào giá trị sổ đăng ký Windows trong tệp bó?

reg.exedường như chỉ hỗ trợ tạo / xóa các khóa và giá trị - Tôi muốn lấy một REG_MULTI_SZgiá trị hiện có và nối thêm một số dữ liệu vào nó.


Đọc giá trị đăng ký thành một biến (sử dụng "REG QUERY ...") và sau đó sửa đổi biến (chắp thêm) ... và sau đó ghi lại vào sổ đăng ký.
Logman

Bạn có thể đưa ra một ví dụ không? Tôi không biết cách phân tích đầu ra trong một tệp bó
snowcrash09

Sẽ dễ dàng hơn nếu tôi biết giá trị reg nào bạn đang cố gắng sửa đổi và những gì bạn đang thay đổi ... nó có bị mã hóa không? bạn đang vượt qua một biến? Nếu không, tôi có thể dán mã ví dụ cho từng tác vụ riêng lẻ nhưng nó vẫn phải thay đổi (mã bat).
Logman

Bạn có thể sử dụng PowerShell thay thế không? Nếu vậy tôi có thể cung cấp một số mã mẫu.
Chris N

Câu trả lời:


0

Nếu bạn có git và do đó git bash thì bạn có thể sử dụng tập lệnh shell thay thế. Đây là một hàm sẽ nối thêm một đối số vào giá trị khóa sổ đăng ký Đường dẫn.

function append_path(){
    tpath=$(reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" //v Path | grep -oP "%System.*")
    tpath="$tpath;$1"
    reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" //v Path //t REG_EXPAND_SZ //d "$tpath" //f
}

Dấu gạch chéo kép có thể không cần thiết, nhưng theo kinh nghiệm của tôi, tôi thấy tôi cần chúng để một số lệnh hoạt động chính xác trong vỏ bash.

Để sử dụng nó, bạn chỉ cần viết

append_path C:/tools/bin

Và tất nhiên, nếu đường dẫn có khoảng trắng, bạn sẽ cần cung cấp trích dẫn hoặc hàm sẽ diễn giải bất cứ điều gì sau một khoảng trắng dưới dạng đối số mới. Tất nhiên bạn sẽ cần đảm bảo đường dẫn ở định dạng windows. Vì vậy, nếu tập lệnh của bạn thu được các đường dẫn cho bạn, bạn sẽ cần chuyển đổi chúng. Có những kịch bản được viết để làm điều này, nhưng đó là cho một câu hỏi SO khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.