Как из текущей даты вычесть день?

Запускаю в .bat код powershell, так как основной код находится в .bat.

powershell -c "[Date]$EndDate = (Get-Date).addDays(-1) | Out-File C:\EndDate.txt"
  1. Как задать формат, чтобы в выводе был yyyy-MM-dd?
  2. Почему Out-File записывает во вторую строку файла?

Обновление

Скорее вопрос будет звучать так: Как из текущей даты вычесть день, преобразовать в формат yyyy-MM-dd и вывести в файл


Ответы (2 шт):

Автор решения: Эникейщик

Потому что get-date так выводит - пустая строка, дата и еще две пустых строки. Легко проверить в powershell. Про формат написано в инструкции с примерами.

→ Ссылка
Автор решения: ipatev_nn

Можно вычитать дату заранее, после через пайплайн устанавливать нужный формат вывода:

(Get-Date).addDays(-1) | Get-Date -Format 'yyyy-MM-dd'

Для формата можно использовать как -Format 'yyyy-MM-dd' так и -UFormat '%Y-%m-%d'

→ Ссылка