PowerShell: использовать вывод команды + строку в качестве имени файла

У меня есть программа для Windows, которая может загружать потоки, я указываю вывод. Хотел бы использовать в качестве имени выходного файла время эпохи + расширение (например mp4). Я пробовал этот пример, но не работает:

PS C:\>streamlink --hls-live-restart -o (Get-Date -Date ((Get-Date).DateTime) -UFormat %s)+".mp4" URL best

Как правильно отформатировать имя файла?


person Smeterlink    schedule 19.04.2020    source источник
comment
Вы получаете сообщение об ошибке? Что он делает?   -  person ArcSet    schedule 20.04.2020


Ответы (1)


Решил сам. Имя файла должно быть выведено из $() и выполнять все операции конкатенации внутри:

PS C:\> echo (Get-Date -Date ((Get-Date).DateTime) -UFormat %s)+".mp4"
1585338575
+.mp4
PS C:\> echo $((Get-Date -Date ((Get-Date).DateTime) -UFormat %s)+".mp4")
1585338562.mp4

Правильная команда:

streamlink --hls-live-restart -o $((Get-Date -Date ((Get-Date).DateTime) -UFormat %s)+".mp4") URL best
person Smeterlink    schedule 19.04.2020