看遍了 yt-dlp 的帮助,似乎没有可以输出日志、记录等的功能开关,
“–verbose”开关也只是让屏输出的信息增加程序调试信息,
使用“>”输出符也并没有得到任何输出。
我的目的是记录批量下载的过程信息,也就是屏幕显示什么就记录什么,看哪些是被删了,哪些是网络出错造成失败了,毕竟翻命令行窗口很不方便。
看遍了 yt-dlp 的帮助,似乎没有可以输出日志、记录等的功能开关,
“–verbose”开关也只是让屏输出的信息增加程序调试信息,
使用“>”输出符也并没有得到任何输出。
我的目的是记录批量下载的过程信息,也就是屏幕显示什么就记录什么,看哪些是被删了,哪些是网络出错造成失败了,毕竟翻命令行窗口很不方便。
> a.txt
和 Linux Shell 里是一样的,默认只是把正常的信息写入a.txt
如果错误也要输出
> a.txt 2>&1
你输入的完整命令是?
D:\Programs\yt-dlp_win\yt-dlp.exe -a @@list.txt --config-locations “D:\Programs\yt-dlp_win\yt-dlp.conf” > “yt-dlp downlog.txt”
在命令行粘贴这命令是可行的,能输出 “yt-dlp downlog.txt” ,也如 18CM 所说
但同样的命令放在快捷方式中,后面的输出命令就没有执行,跟不存在这命令一样。
另外如果输出到文本文件,屏幕就不显示了,得自己打开输出的文本文件看……
在 Bash 用 tee,屏幕会继续显示输出。不清楚 PowerShell 有没有这样的功能。
yt-dlp 'url' |& tee log
|&
表示重定向输出和错误。
你可以把命令写在 cmd 文件里,然后快捷方式指向 cmd
也只能这样了
(cmd居然不支持utf-8的bat……)
wintee可以,但效果:
BSD/Linux有个小工具叫做script
,可以记录一段交互过程。一般的用法类似这种:script abc.log -c "dir *.txt; echo done"
要在Windows下用的话,似乎只能从cygwin或者msys2装一个util-linux
包,不知道哪里有比较独立的port
具体的不便在于:
正在运行的输出会导致窗口一直回滚到最底下更新的行;
滚动条并不正比于窗口实际内容;
不方便检索(虽然可以在选择状态Ctrl-A再回车复制出屏幕内容)
今天偶然发现一个免费工具可以解决这个问题:
具体就是,可以随心往上滚动回看之前的屏幕输出,不影响控制台里的程序运行,不会自动回滚到底部;
滚动条自动隐藏,滚动的时候显示,正比于窗口内容;
有搜索框,可以直接检索屏幕内容。
据其介绍,还能实现多标签页、多分窗口、多类终端(cmd、ps、bash等)、替换系统默认终端,甚至嵌入资源管理器窗口内运行的功能