Вам слід запустити обидві команди в PowerShell, оскільки PowerShell більш ніж здатний маніпулювати змінними середовища.
Тобто:
$dow = (get-date).dayofweek
[Environment]::SetEnvironmentVariable("DOW", $dow, "Machine")
або
[Environment]::SetEnvironmentVariable("DOW", $dow, "User")
До речі, ваш сценарій не працює, оскільки все, що ви отримуєте, - це код повернення PowerShell, а не дані, які він створює. Можливо, є спосіб змусити його працювати, але в кінцевому підсумку безглуздо в порівнянні з просто використанням правильного сценарію PowerShell.
Для повноти, ось приємна стаття від Microsoft про PowerShell та змінні середовища:
Створення та зміна змінних середовища
Оновлення: Переглянувши це рішення за допомогою @ syneticon-dj у чаті, виявляється, що проблема, з якою ви стикаєтесь за допомогою цього методу, полягає в тому, що командний рядок повинен бути перезавантажений, перш ніж він відображатиме зміни змінних умов середовища, що відбулися зовні.
Ви не надали багато деталей щодо того, що ви робите, але якщо це єдина причина, що ви запускаєте PowerShell, ніж моя фактична пропозиція переглянула б, як ви робите справи.
Або весь ваш процес, що використовує PowerShell, або ви замість цього планували використовувати заплановані завдання? Ви можете планувати завдання залежно від дня тижня.