คุณควรเรียกใช้ทั้งสองคำสั่งใน PowerShell เนื่องจาก PowerShell มีความสามารถในการจัดการตัวแปรสภาพแวดล้อมมากกว่า
เช่น:
$dow = (get-date).dayofweek
[Environment]::SetEnvironmentVariable("DOW", $dow, "Machine")
หรือ
[Environment]::SetEnvironmentVariable("DOW", $dow, "User")
โดยวิธีการที่สคริปต์ของคุณไม่ทำงานเพราะสิ่งที่คุณได้รับคือรหัสส่งคืน PowerShell ไม่ใช่ข้อมูลที่ผลิต อาจมีวิธีที่จะทำให้มันใช้งานได้ แต่ท้ายที่สุดก็ไม่มีจุดหมายเมื่อเทียบกับการใช้สคริปต์ PowerShell ที่เหมาะสม
เพื่อความสมบูรณ์นี่เป็นบทความที่ดีจาก Microsoft เกี่ยวกับ PowerShell และตัวแปรด้านสิ่งแวดล้อม:
การสร้างและแก้ไขตัวแปรสภาพแวดล้อม
อัปเดต:เมื่อตรวจทานโซลูชันนี้ด้วย @ syneticon-dj ในการแชทแล้วปัญหาที่คุณเผชิญโดยใช้วิธีนี้คือต้องมีการโหลดพรอมต์คำสั่งใหม่ก่อนที่จะสะท้อนการเปลี่ยนแปลงของตัวแปรสภาพแวดล้อมที่เกิดขึ้นจากภายนอก
คุณยังไม่ได้ให้รายละเอียดมากนักเกี่ยวกับสิ่งที่คุณกำลังทำ แต่ถ้านี่เป็นเหตุผลเดียวที่คุณเปิดตัว PowerShell กว่าคำแนะนำจริงของฉันคือการตรวจสอบว่าคุณกำลังทำอะไรอยู่
กระบวนการทั้งหมดของคุณใช้ PowerShell หรือคุณพิจารณาใช้งานที่กำหนดไว้แทนหรือไม่ คุณสามารถกำหนดเวลางานตามวันในสัปดาห์