As far as I know, there's no such wallet which can do that. You have two options to hack up a solution though. The first is to run Bitcoind on Linux and to set up a cron job at a specific day of the week to invoke a script that contains calls to bitcoin-cli walletpassphrase, createrawtransaction to construct the raw transaction, fundrawtransaction to specify a change address, signrawtransactionwithwallet to sign it and finally call sendrawtransaction to send the signed raw transaction.
I recommend using a programming language such as PHP or Python for this, and not bash or shell scripts because they cannot parse JSON output well, and choke on single and double quoted strings.
The other option is to set up the same configuration except on Windows and task scheduler instead of Linux and Cron. Task Scheduler does have the advantage of being easier to set up than cron job schedulers, but this tool is a user-friendly way to make a ready-to-use cron scheduler:
https://crontab.guru/