Я хотел бы перенаправить весь вывод в файл (*> file
) и только ошибки на консоль (2>
), но не могу найти способ сделать это.
Попробовал это, которое дает ошибка:
Write-Error "error" *> all.log 2>
+ Write-Error "error" *> all.log 2>
+ ~
Missing file specification after redirection operator.
Я попытался добавить file
, поскольку сообщение об ошибке предлагает просто посмотреть, будет ли перенаправление работать в этом случае, но это не так:
Write-Error "error" *> all.log 2> errors.log
# all.log is empty but should contain the error also
# errors.log contains error
Я также попытался объединить потоки без удачи:
Write-Error "error" 2>&1 all.log 2> errors.log
+ Write-Error "error" 2>&1 all.log 2> errors.log
+ ~~~~~~~~~~~~~
The error stream for this command is already redirected.
Пробовал некоторые вещи также с tee
, но не смог заставить это работать. Кажется, проблема в том, что вы не можете перенаправить поток более одного раза или вывести его в два места? Есть ли способ обойти это или решить это аккуратно?