UPDATE NO.2 - ตอนนี้ถึง ที่จริง คำถาม: ทำไมตัวแปรที่ซ้อนกันและสร้างโดยผู้ใช้ไม่สามารถขยายได้
มีปัญหาทั่วไปเกี่ยวกับการขยายตัวของตัวแปรใน Windows ฉันพบปัญหาเดียวกันแล้วและไม่พบสถานการณ์ที่ชัดเจนและทำซ้ำได้ - ระดับการเรียกซ้ำที่การขยายล้มเหลวไม่สอดคล้องกันอักขระพิเศษดูเหมือนจะไม่ได้มีบทบาท ฯลฯ
วิธีแก้ปัญหาที่ทำงานได้เท่านั้นที่ฉันพบคือการเพิ่มระดับการเรียกซ้ำตัวแปรตามระดับการเรียกซ้ำ ซึ่งหมายความว่า: ลองลบตัวแปรทั้งหมดที่คุณต้องการซ้อนเข้าด้วยกัน (รวมถึงการโทรจาก PATH ไปยังตัวแปรที่ผู้ใช้กำหนด) จากนั้นเริ่มต้นใหม่ กำหนดตัวแปรพื้นฐานของคุณ (ฯลฯ ANT-HOME) ส่งมอบตรวจสอบว่ามันขยายถ้าเป็นไปต่อไปด้วยระดับถัดไปกระทำตรวจสอบ ... คุณได้รับความคิด
อัพเดตคำตอบ - การกำหนดตัวแปรสภาพแวดล้อมถาวรโดยใช้ CLI และ GUI - เลื่อนลงเพื่อดูคำตอบต้นฉบับ
วิธี GUI:
ใน Windows 7 เพียงพิมพ์ "system" ใน META-Prompt และคุณจะเห็นรายการ "แก้ไขตัวแปรสภาพแวดล้อมของระบบ" จากนั้นคลิก "ตัวแปรสภาพแวดล้อม" ที่นั่นคุณสามารถแก้ไขตัวแปรระบบ PATH (รายการด้านล่าง) หรือเพิ่ม / แก้ไขตัวแปร PATH ใหม่ให้กับตัวแปรสภาพแวดล้อมของผู้ใช้
วิธีบรรทัดคำสั่ง:
ในการเปลี่ยนตัวแปรสภาพแวดล้อมอย่างถาวรคุณต้องใช้คำสั่ง SETX ในบรรทัดคำสั่งของ Windows ซึ่งแตกต่างจาก Windows รุ่นอื่น ๆ มันมาพร้อมกับ Windows 7 ไวยากรณ์ของมันแตกต่างจาก SET มาก แต่ก็มีประสิทธิภาพเช่นกัน คุณจะต้องระวังให้ดีแม้ว่าจะเป็นเรื่องง่ายที่จะทำให้ตัวแปรของคุณยุ่งเหยิงด้วย SETX
ตามค่าเริ่มต้นคุณจะเปลี่ยน ตัวแปรผู้ใช้ . คุณสามารถมีตัวแปรสภาวะแวดล้อม PATH ของผู้ใช้ที่อยู่ร่วมกับตัวแปร PATH ของระบบอย่างมีความสุข หากคุณยังไม่ได้กำหนดไว้ให้ทำโดยพิมพ์: SETX PATH yourpath
คุณยังสามารถเพิ่มค่าให้กับตัวแปรระบบ PATH เมื่อต้องการทำสิ่งนี้คุณต้องแสดงบรรทัดคำสั่งด้วยสิทธิ์ผู้ดูแลระบบก่อน เมื่อต้องการทำสิ่งนี้ให้กดปุ่ม Meta (Windows) พิมพ์ cmd
และตี CTRL
+ SHIFT
+ ENTER
และยืนยันไดอะล็อก UAC
ในการเพิ่มค่าใหม่ให้กับเส้นทางคุณสามารถป้อนได้แล้ว
setx path "%path%;yournewpath" /m
การติดตามไวยากรณ์นั้นเป็นสิ่งสำคัญ! หากคุณไม่รวม% path% ก่อนค่าของเส้นทางที่มีอยู่ทั้งหมดจะหายไปและแทนที่ด้วยเส้นทางใหม่ของคุณเท่านั้น กระบวนการ / m สลับท้ายตั้งค่าตัวแปรในสภาพแวดล้อมของระบบ
โปรดทราบว่าคุณจะต้องเรียกใช้บรรทัดคำสั่งใหม่เพื่อใช้ประโยชน์จากตัวแปรใหม่ของคุณ
นอกจากนี้ยังมี การอ้างอิงแบบเต็มสำหรับ SETX ที่ TechNet .
คำตอบเดิม ๆ
ชุดคำสั่งจะอัพเดตตัวแปรสำหรับช่วงเวลาของเซสชันบรรทัดคำสั่งปัจจุบันเท่านั้น
ไวยากรณ์ที่ถูกต้องสำหรับการเพิ่มค่าให้กับตัวแปรคือ 'set [variable] =% [variable]%; [new value] `
โปรดทราบว่าด้านซ้ายของเครื่องหมายเท่ากับคุณต้องข้ามเครื่องหมายเปอร์เซ็นต์
ที่มา: การอ้างอิงบรรทัดคำสั่ง TechNet สำหรับ Windows Server