我有一个powershell脚本,它启动一个ffmpeg命令
$process = Start-Process -FilePath "cmd" -ArgumentList "/c c:\bin\ffmpeg\bin\ffmpeg.exe -rtsp_transport tcp -i........
这会产生一个命令提示符窗口。我想重命名命令提示符窗口的标题,并能够在运行ffmpeg命令的每一次迭代中做到这一点。
我已经了解了如何通过命令提示符直接重命名窗口的标题,以及如何重命名powershell窗口标题。在创建命令提示符窗口时,我找不到任何与powershell相关的信息能够动态地为命令提示符窗口分配新标题。
如能提供任何协助/指示,将不胜感激。
发布于 2020-09-24 06:25:16
一旦将代码传递给cmd实例,启动它将取决于正在运行的进程更新它的标题窗口(而不会进入pinvoke/Windows调用)。如果ffmpeg.exe在运行时为您提供当前文件,那么只需使用该文件设置标题即可。如果没有,那么很可能需要调整命令,以便首先获得文件列表,然后迭代这些文件,设置标题并运行ffmpeg命令。下面是一个让命令设置标题的小例子。
Start-Process -FilePath "cmd" -ArgumentList "/c for /l %a in (1,1,10) do (title %a & cls & timeout 3)"
如果您指的是每次启动进程,那么只需在其他命令之前设置标题。
Start-Process -FilePath "cmd" -ArgumentList "/c title ffmpeg command running & c:\bin\ffmpeg\bin\ffmpeg.exe -rtsp_transport tcp -i........"
&字符指示CMD运行第一个命令和下一个命令。&&表示运行第一个命令,只有在第一个命令成功时才运行第二个命令。运行第一个命令,如果失败,则运行第二个命令。
顺便说一句,除非您在-Passthru
上使用Start-Process
,否则它不会收集任何东西。使用passthru参数,它将收集一个System.Diagnostics.Process对象。可用于跟踪、关闭等。
发布于 2020-09-24 06:23:20
$host.ui.RawUI.WindowTitle = "Changed Title"
像这样吗?
https://stackoverflow.com/questions/64039341
复制相似问题