Bạn nên chạy cả hai lệnh trong PowerShell vì PowerShell không chỉ có khả năng thao túng các biến môi trường.
I E:
$dow = (get-date).dayofweek
[Environment]::SetEnvironmentVariable("DOW", $dow, "Machine")
hoặc là
[Environment]::SetEnvironmentVariable("DOW", $dow, "User")
Nhân tiện, tập lệnh của bạn không hoạt động vì tất cả những gì bạn nhận được là mã trả về PowerShell, không phải dữ liệu mà nó tạo ra. Có thể có một cách để làm cho nó hoạt động, nhưng cuối cùng nó là vô nghĩa so với việc chỉ sử dụng một tập lệnh PowerShell thích hợp.
Để hoàn thiện, đây là một bài viết hay của Microsoft về PowerShell và các biến môi trường:
Tạo và sửa đổi biến môi trường
Cập nhật: Đã xem xét giải pháp này với @ syirecton-dj trong trò chuyện, có vẻ như vấn đề bạn gặp phải khi sử dụng phương pháp này là một dấu nhắc lệnh phải được tải lại trước khi nó phản ánh các thay đổi trong các biến môi trường đã xảy ra bên ngoài.
Bạn chưa cung cấp nhiều chi tiết về những gì bạn đang làm, nhưng nếu đây là lý do duy nhất bạn khởi chạy PowerShell, thì đề xuất thực tế của tôi sẽ xem xét cách bạn đang làm.
Toàn bộ quá trình của bạn sử dụng PowerShell hoặc bạn đã xem xét sử dụng các tác vụ theo lịch trình thay thế chưa? Bạn có thể lên lịch các nhiệm vụ dựa trên ngày trong tuần.