Anda harus menjalankan kedua perintah di PowerShell karena PowerShell lebih dari mampu memanipulasi variabel lingkungan.
Yaitu:
$dow = (get-date).dayofweek
[Environment]::SetEnvironmentVariable("DOW", $dow, "Machine")
atau
[Environment]::SetEnvironmentVariable("DOW", $dow, "User")
Omong-omong, skrip Anda tidak berfungsi karena semua yang Anda dapatkan adalah kode pengembalian PowerShell, bukan data yang dihasilkannya. Mungkin ada cara untuk membuatnya bekerja, tetapi pada akhirnya tidak ada gunanya dibandingkan dengan hanya menggunakan skrip PowerShell yang tepat.
Untuk kelengkapan, berikut adalah artikel bagus dari Microsoft tentang PowerShell dan variabel lingkungan:
Membuat dan Memodifikasi Variabel Lingkungan
Pembaruan: Setelah meninjau solusi ini dengan @ syneticon-dj dalam obrolan, tampaknya masalah yang Anda hadapi menggunakan metode ini adalah bahwa prompt perintah harus dimuat ulang sebelum akan mencerminkan perubahan dalam variabel lingkungan yang telah terjadi secara eksternal.
Anda belum memberikan banyak detail tentang apa yang Anda lakukan, tetapi jika ini adalah satu-satunya alasan Anda meluncurkan PowerShell, daripada saran saya yang sebenarnya adalah untuk meninjau bagaimana Anda melakukan sesuatu.
Apakah seluruh proses Anda menggunakan PowerShell atau sudahkah Anda mempertimbangkan untuk menggunakan tugas terjadwal? Anda dapat menjadwalkan tugas berdasarkan pada hari dalam seminggu.