การตั้งค่าและรับตัวแปรสภาพแวดล้อม Windows จากพรอมต์คำสั่ง?


220

ฉันต้องการตั้งค่าตัวแปรสภาพแวดล้อมจากพรอมต์คำสั่งจากนั้นสามารถเข้าถึงได้ทั่วโลก (ตัวอย่างเช่นฉันควรเห็นมันโดยไปที่ระบบ -> ตัวแปรสภาพแวดล้อม)

เมื่อฉันใช้คำสั่ง set จะไม่สามารถเข้าถึงได้ในเซสชัน cmd ใหม่

set NEWVAR=SOMETHING
echo %NEWVAR%

คำถามที่เกี่ยวข้อง:


1
ค่าตัวแปร setx - จากนั้นรีสตาร์ทพร้อมท์คำสั่ง
แอนดรูว์

คำตอบ:


252

ในการทำให้ตัวแปรสภาพแวดล้อมสามารถเข้าถึงได้ทั่วโลกคุณต้องตั้งค่าไว้ในรีจิสทรี ดังที่คุณทราบโดยใช้:

ตั้งค่า NEWVAR = SOMETHING

คุณเพียงแค่ตั้งค่าในพื้นที่กระบวนการปัจจุบัน

ตามหน้านี้คุณสามารถใช้setxคำสั่ง:

setx NEWVAR SOMETHING

setxสร้างขึ้นใน Windows 7 แต่สำหรับรุ่นที่เก่ากว่าอาจใช้ได้เฉพาะเมื่อคุณติดตั้งWindows Resource Kit


4
โปรดทราบว่าคุณต้องระบุโควต้าตัวอย่างเช่น: setx JAVA_HOME "C:\Program Files\Java\jdk1.7.0_45"จะใช้งานได้ แต่setx JAVA_HOME C:\Program Files\Java\jdk1.7.0_45จะให้ข้อผิดพลาดทางไวยากรณ์
MD Mohiuddin Ahmed

5
@ MD.MohiuddinAhmed นั่นเป็นเพราะมีช่องว่างในเส้นทาง
ChrisF

36

นอกจากนี้เรายังสามารถใช้ "setx var variable / M" เพื่อตั้งค่า var เป็นระดับตัวแปรสภาพแวดล้อมระบบแทนระดับผู้ใช้

หมายเหตุ: คำสั่งนี้ควรรันในฐานะผู้ดูแลระบบ


10
setx program "C:\Program Files" /M

/ M สำหรับตั้งค่าระดับตัวแปรสภาพแวดล้อมของระบบแทนระดับผู้ใช้เช่น @Minh Chau answer

ทดสอบ ป้อนคำอธิบายรูปภาพที่นี่

บรรทัดคำสั่งRESTART (หากคุณไม่รีสตาร์ทบรรทัดคำสั่งตัวแปรสภาพแวดล้อมจะไม่ทำงาน)

ป้อนคำอธิบายรูปภาพที่นี่


เป็นการทำซ้ำคำตอบอื่นและไม่เพิ่มเนื้อหาใหม่ โปรดอย่าโพสต์คำตอบเว้นแต่ว่าคุณมีสิ่งใหม่ที่จะมีส่วนร่วม
DavidPostill

8
@ David โพสต์คำตอบของฉันมีใหม่คือเราต้องเริ่มบรรทัดคำสั่ง ฉันคิดว่ามันสำคัญ
ฟาน Van Linh

2

คุณสามารถใช้setx env var [/M]ตามที่กล่าวไว้ข้างต้น หากไม่มีผลคุณสามารถใช้refreshenvเพื่อรีเฟรชตัวแปรสภาพแวดล้อม คุณไม่ต้องรีสตาร์ทคอมพิวเตอร์ explorer.exe หรือพรอมต์คำสั่งเพื่อทำเช่นนั้น

แก้ไข: รีเฟรช apparantly ไม่ได้มาพร้อมกับ Windows ดังนั้นนี่คือแหล่งที่มา: https://pastebin.com/1fJqA0pT
บันทึกเป็น RefreshEnv.cmd และวางไว้ในโฟลเดอร์ที่รวมอยู่ในตัวแปรสภาพแวดล้อม PATH ของคุณ


1
+1 สำหรับการกล่าวถึง 'refreshenv' - ฉันไม่เคยเจอมาก่อนเลย!
Francis Norton

1

ตัวแปรระบบสามารถตั้งค่าผ่าน CMD และรีจิสทรีสำหรับอดีต แบบสอบถาม reg "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment Manager" สภาพแวดล้อม "/ v เส้นทาง

ทั้งหมดรหัส CMD ที่ใช้กันทั่วไปและตัวแปรระบบจะได้รับที่นี่: ชุดของ Windows ตัวแปรสภาพแวดล้อมของระบบโดยใช้ CMD

เปิด CMD แล้วพิมพ์Set

คุณจะได้รับค่าทั้งหมดของตัวแปรระบบ

พิมพ์set javaเพื่อทราบรายละเอียดพา ธ ของ java ที่ติดตั้งบนหน้าต่างระบบปฏิบัติการของคุณ


โปรดอ่านคำถามอีกครั้งอย่างระมัดระวัง คำตอบของคุณไม่ตอบคำถามเดิม
DavidPostill

แม้ว่ามันจะอยู่ใกล้ การใช้ REG ADD อาจทำได้สำเร็จหรือไม่
TOOGAM

0

ฉันต้องการเพิ่มว่าหากคุณใช้พารามิเตอร์ / s กับ setx เพื่อตั้งค่าตัวแปรสภาพแวดล้อมบนคอมพิวเตอร์ระยะไกลบริการ "Remote Registry" จะต้องทำงานบนเครื่องเป้าหมายมิฉะนั้นคุณจะได้รับ "ข้อผิดพลาด: การดำเนินการที่ระบุไม่สามารถเสร็จสิ้นได้ "

(ฉันขอให้ Microsoft อัปเดตบทความ TechNet ใน setxเพื่อรวมข้อมูลนี้)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.