Làm cách nào để thêm dữ liệu vào giá trị sổ đăng ký Windows trong tệp bó?
reg.exe
dườ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_SZ
giá trị hiện có và nối thêm một số dữ liệu vào nó.
Làm cách nào để thêm dữ liệu vào giá trị sổ đăng ký Windows trong tệp bó?
reg.exe
dườ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_SZ
giá trị hiện có và nối thêm một số dữ liệu vào nó.
Câu trả lời:
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.