ฉันต้องการเพิ่มรายการใหม่ให้กับตัวแปร PATH ของฉัน นี่เป็นกิจกรรมทั่วไปสำหรับฉันในงานของฉัน แต่ฉันเพิ่งเริ่มใช้ Windows 8 ฉันคิดว่ากระบวนการนี้จะคล้ายกับ Windows 7, Vista, XP ...
นี่คือลำดับเหตุการณ์ของฉัน:
- เปิดคุณสมบัติของระบบ (เริ่ม -> [ประเภท "แผงควบคุม"] -> แผงควบคุม \ ระบบและ Security \ System -> การตั้งค่าระบบขั้นสูง -> ตัวแปรสภาพแวดล้อม)
- เพิ่มพา ธ ใหม่ไปยังจุดเริ่มต้นของตัวแปร USER PATH ของฉัน (C: \ dev \ Java \ apache-ant-1.8.4 \ bin;)
- เปิดพรอมต์คำสั่ง (Start -> [type "command prompt" enter] -> [type "path" enter]
รายการเส้นทางใหม่ของฉันไม่พร้อมใช้งาน (ดูรูปภาพและวิดีโอที่แนบมา) ฉันทำซ้ำกระบวนการเดียวกันที่แน่นอนบนเครื่อง Windows 7 และใช้งานได้
แก้ไข
ตัวแปรสภาพแวดล้อม Windows 8 และวิดีโอพร้อมรับคำสั่ง
แก้ไข
นี่ไม่ใช่พฤติกรรมของ Windows 7 อย่างแน่นอนดูวิดีโอนี้เพื่อดูพฤติกรรมที่ฉันคาดว่าจะทำงานใน Windows 7 http://youtu.be/95JXY5X0fII
แก้ไข 5/31/2013
ดังนั้นหลังจากแห้วฉันเขียน C # แอพขนาดเล็กเพื่อทดสอบWM_SETTINGCHANGE
เหตุการณ์ รหัสนี้ได้รับเหตุการณ์ในทั้ง Windows 7 และ Windows 8 อย่างไรก็ตามใน Windows 8 บนระบบของฉันฉันไม่ได้รับเส้นทางที่ถูกต้อง แต่ฉันทำใน Windows 7 ซึ่งไม่สามารถทำซ้ำในระบบ Windows 8 อื่น ๆ
นี่คือรหัส C #
using System;
using Microsoft.Win32;
public sealed class App
{
static void Main()
{
SystemEvents.UserPreferenceChanging += new UserPreferenceChangingEventHandler(OnUserPreferenceChanging);
Console.WriteLine("Waiting for system events.");
Console.WriteLine("Press <Enter> to exit.");
Console.ReadLine();
}
static void OnUserPreferenceChanging(object sender, UserPreferenceChangingEventArgs e)
{
Console.WriteLine("The user preference is changing. Category={0}", e.Category);
Console.WriteLine("path={0}", System.Environment.GetEnvironmentVariable("PATH"));
}
}
OnUserPreferenceChanging
เทียบเท่ากับ WM_SETTINGCHANGE
โปรแกรม C # ทำงานใน Windows 7 (คุณสามารถดูเหตุการณ์ที่เกิดขึ้นและเลือกเส้นทางที่ถูกต้อง)
โปรแกรม C # ทำงานใน Windows 8 (คุณสามารถเห็นเหตุการณ์ผ่านมา แต่เส้นทางผิด)
มีบางอย่างเกี่ยวกับสภาพแวดล้อมของฉันที่ทำให้เกิดปัญหานี้ อย่างไรก็ตามนี่เป็นข้อบกพร่องของ Windows 8 หรือไม่
แก้ไข 2014-04-28
เนื่องจากปัญหานี้และปัญหาอื่น ๆ อีกมากมายเราจึงไม่ใช้ Windows 8 บนเดสก์ท็อปอีกต่อไป เราไม่มีสภาพแวดล้อมในการทดสอบและทดสอบกับปัญหานี้ต่อไป ยังไม่มีคำตอบหรือการแก้ไขปัญหานี้สำหรับเรา คำตอบด้านล่างไม่สามารถแก้ปัญหาของเราได้
cmd
เมื่อมีการเปิดตัวอินสแตนซ์ใหม่ แน่นอนว่าการทำงานแล้วcmd
ไม่ได้รับการปรับปรุงสภาพแวดล้อม