- Windows 7.
- Nó dành cho máy của riêng tôi, vì vậy không quan trọng nếu nó yêu cầu quyền quản trị hay gì đó.
- Tốt nhất là bằng Python hoặc .NET, nhưng tôi có thể tìm hiểu một chút về lập trình Win32 (C/C++) nếu cần thiết.
Trả lời
nếu bạn muốn thiết lập vĩnh viễn biến môi trường, bạn có thể chèn các giá trị mới vào registry. ví dụ với VBScript, thêm đường dẫn "C: \ test" vào biến PATH
Set WshShell = WScript.CreateObject("WScript.Shell")
strReg = "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path"
strSetting = WshShell.RegRead(strReg)
strNewSetting = strSetting&";c\test"
WshShell.RegWrite strReg, strNewSetting
Vì vậy, nếu bạn sử dụng Python hoặc các ngôn ngữ khác, bạn có thể làm điều tương tự sử dụng của ngôn ngữ của bạn api riêng/modules để đọc và viết đăng ký
Sử dụng các lớp Môi trường như thế này:
Environment.SetEnvironmentVariable("foo", "bar");
Tôi quên đề cập đến, đó là chỉ trong suốt thời gian của chương trình hay nó là vĩnh viễn? – Javier
Nó sẽ chỉ ảnh hưởng đến môi trường chương trình hiện tại. Thay đổi hệ thống rộng trong sổ đăng ký (xem câu trả lời của ghostdog) và yêu cầu chương trình được khởi chạy lại sau khi thực hiện thay đổi. – Joshua
Biến môi trường sửa đổi chương trình chỉ dành cho thời lượng của chương trình. Đã không nghe nói về thực sự sửa đổi môi trường toàn hệ thống và làm cho nó có hiệu quả ở đó và sau đó. Tôi không nghĩ rằng có thể được thực hiện, mà sẽ yêu cầu poking xung quanh ở cấp độ đặc quyền và có thể rối tung với hệ thống cốt lõi để đạt được điều đó.
Ngay cả dưới Unix, nó không thể được thực hiện mặc dù một số hacks để đạt được nó. Tôi nhớ nhìn thấy mã thực sự đã sửa đổi các biến môi trường trong MSDOS, bằng cách thay đổi cấu trúc dữ liệu môi trường _psp của MSDOS, nhưng đó là một hệ thống đơn nhiệm và 16bit không có sự bảo vệ nào.
Tóm lại, tôi không nghĩ bạn có thể và sẽ không khôn ngoan để làm như vậy, có thể được coi là hệ thống đang bị đe dọa bởi 'trojan' hoặc 'vi-rút' nếu cố gắng để làm như vậy, không đơn độc rằng, với tư cách là người dùng, tôi không muốn cho một chương trình sửa đổi biến môi trường hệ thống mà không có sự đồng ý của tôi! Chắc chắn, một chương trình có thể ghi vào sổ đăng ký để làm cho nó vĩnh viễn, nhưng tôi vẫn muốn biết mục đích của nó là gì và tại sao.
Hãy xem [this] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653 (v = vs.85) .aspx) cho một biến môi trường thiết lập phương thức dính. -1 cho FUD. – ssc
Trong C# sau đây tạo ra một biến môi trường vĩnh viễn:
Environment.SetEnvironmentVariable("foo", "bar", EnvironmentVariableTarget.Machine);
Điều này có trở thành vĩnh viễn không? – Javier
Nó phụ thuộc vào giá trị của liệt kê EnvironmentVariableTarget được sử dụng. Xem http://msdn.microsoft.com/en-us/library/system.environmentvariabletarget.aspx – kicsit
cửa sổ gỡ lỗi của tôi treo khi tôi thêm vào "EnvironmentVariableTarget.Machine" –
hoặc bạn có thể thử một kịch bản Windows PowerShell; PowerShell được cài đặt trên Windows 7 theo mặc định.
chạy powershell.exe
PS C:\> [Environment]::SetEnvironmentVariable("TestVariable", "Test value.", "User")
Sau đó, ví dụ, từ cmd.exe
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\>echo %TestVariable%
Test value.
C:\>
Hoặc (trong một mới) powershell.exe
PS C:\> echo $ENV:TestVariable
Test Value.
PS C:\>
séc ra http://technet.microsoft.com/en-us/library/ff730964.aspx
Tính năng này hoạt động như được mô tả, nhưng vỏ hệ điều hành DOS đã mở khi env var được thiết lập dường như không nhận được sự thay đổi, vì vậy rõ ràng, PowerShell không phát một thông điệp 'WM_SETTINGCHANGE' như được mô tả [ở đây] (http://msdn.microsoft.com/en-us/library/ windows/desktop/ms725497 (v = vs.85) .aspx). Tốt bắt đầu mặc dù. – ssc
F hoặc bất cứ ai khác tìm kiếm một câu trả lời commandline nhanh
SETX có sẵn trên cửa sổ máy chủ (natively tôi nghĩ rằng - http://technet.microsoft.com/en-us/library/cc755104.aspx)
+1 Simpler sau đó câu trả lời trước đó và hoạt động trên win7 cuối cùng quá – daitangio
setx.exe không thể là một công cụ tồi tệ hơn để mở rộng 'Path'. Giá trị 'Đường dẫn' của người dùng và hệ thống sẽ không bao giờ bị xáo trộn và các biến phần trăm trong giá trị 'REG_EXPAND_SZ' phải được bỏ tạm thời. setx.exe không thể làm bất kỳ điều này. Những gì nó có thể làm là tạo ra một mớ hỗn độn khủng khiếp mà không thể hoàn tác được. – eryksun
không đổ lỗi cho chúng tôi vì muốn sử dụng dòng lệnh được cung cấp bởi microsoft: Mô tả: Tạo hoặc sửa đổi các biến môi trường trong người dùng hoặc hệ thống môi trường. Có thể đặt biến dựa trên các đối số, regkey hoặc đầu vào tệp. – user1885834
- 1. Đặt biến môi trường Linux theo lập trình trong Java
- 2. C# biến môi trường thiết lập
- 3. Makefile: Thiết lập biến môi trường
- 4. Biến môi trường thiết lập trong Mathematica
- 5. kiểm tra xem biến môi trường đã được thiết lập
- 6. biến môi trường giám sát thiết lập ứng dụng
- 7. Biến môi trường Javascript
- 8. Biến môi trường Ruby
- 9. Rails 3/Thiết lập biến môi trường tùy chỉnh
- 10. Thiết lập biến môi trường với maven 2.x
- 11. Thiết lập biến môi trường trong kịch bản kiến
- 12. đọc biến môi trường bash
- 13. Biến môi trường đơn điệu
- 14. UNIX, nhận biến môi trường
- 15. Kiểm tra biến môi trường
- 16. NodeJS đặt biến môi trường cho exec
- 17. Biến môi trường CMAKE_INSTALL_PREFIX - không hoạt động?
- 18. Lập trình thêm thư mục vào biến môi trường Windows PATH
- 19. Về tệp application.properties và biến môi trường
- 20. Lập trình cho Android trong môi trường 100% C++?
- 21. Process.Start() và biến môi trường PATH
- 22. MSBuild các biến môi trường bắt buộc
- 23. Đặt Biến môi trường với Rối
- 24. Xuất biến môi trường sang Makefile shell
- 25. Biến môi trường NodeJS trong Grunt
- 26. Thay đổi biến môi trường trong eclipse
- 27. Khóa SSH trong biến môi trường
- 28. IDEA: Cách đặt biến môi trường?
- 29. Biến môi trường trong Python trên Linux
- 30. Biến môi trường Pydev autogen DJANGO_SETTINGS_MODULE?
Chỉ cần lưu nó dưới dạng .vbs và chạy nó. –