在CMD中直接使用youtube-dl命令可以正常工作:
youtube-dl -e "https://www.youtube.com/watch?v=E_JXrNAxGzM"
它可以正确地给出Youtube视频的标题:27/12/2016 晚間新聞 楊家駿直播睇手機
然而,如果我在一个Windows批处理文件中使用相同的命令,并使用FOR循环,那么非ASCII字符将被完全删除。批处理文件代码如下:
@ECHO OFF
FOR /F "delims=" %%i IN ('youtube-dl -e "https://www.youtube.com/watch?v=E_JXrNAxGzM"') DO (
ECHO %%i
)
PAUSE
EXIT
只返回这个结果:2016年12月27日
作为一个测试,我尝试了这样:
set var=晚間新聞楊家駿直播睇手機
for %%i in (%var%) do (
echo %%i
)
这个工具可以正常工作,中文字符也能正确打印出来,这让我觉得这不是CMD的Unicode问题,而是与youtube-dl有关。
然而,有人向我保证这不是youtube-dl的问题。
是否我漏掉了什么重要的东西?有没有方法让它能够正常工作?
set var=あ
或任何其他非罗马化字符,那么echo %var%
会显示什么? - Nico Nekoru