ฉันกำลังสร้างชุดของชุดสคริปต์สำหรับระบบสร้าง / ทดสอบอัตโนมัติของเราซึ่งทำงานในระบบปฏิบัติการที่แตกต่างกันเพื่อตั้งเงื่อนไขบางอย่างสำหรับสภาพแวดล้อมที่แตกต่างกันและฉันสังเกตว่า Windows 8 ดูเหมือนว่าจะจัดการอาร์กิวเมนต์บรรทัดคำสั่ง regedit.exe แตกต่างจาก Windows XP ถึง 7 .
ฉันใช้คำสั่ง:
regedit.exe /s relative_path\registry_settings.reg
สิ่งนี้ทำงานได้อย่างถูกต้องจนกว่าเราจะไปที่โหนด Windows 8 ณ จุดนั้นมันไม่ได้ปล่อยข้อผิดพลาดใด ๆ แต่ย้ายไปราวกับว่ามันทำงานได้โดยไม่ต้องทำการเปลี่ยนแปลงรีจิสทรีใด ๆ (และชุดทดสอบทั้งหมดของฉันล้มเหลวและทำให้ฉันกลัว)
เพื่อให้ Windows 8 ทำงานได้ฉันต้องใช้เส้นทางที่แน่นอนเช่น:
regedit.exe /s \absolute_path\registry_settings.reg
นี่เป็นการเปลี่ยนแปลงโดยเจตนาจาก Microsoft หรือเป็นไปได้ว่ามีการตั้งค่าสภาพแวดล้อมที่มีผลกระทบกับเรื่องนี้หรือไม่? มีวิธีแก้ปัญหาที่ดีกว่าการใช้เส้นทางที่แน่นอน (ซึ่งเปราะบางและจะต้องมีการบำรุงรักษาเพิ่มเติมในอนาคต)?