Youtube-dl 批处理文件-“TypeError:%c 需要 int 或 char”

Youtube-dl 批处理文件-“TypeError:%c 需要 int 或 char”

当我运行包含以下内容的批处理文件时:

@echo off
set /p userinput=C:/youtube-dl.exe -o "%%cd%%/%%(title)s.%%(ext)s" 
C:/youtube-dl.exe  -o "%%cd%%/%%(title)s.%%(ext)s" %userinput%
pause

我收到以下错误:“TypeError:%c 需要 int 或 char”

问题似乎出在 %cd% 变量上,我希望程序从中获取启动它的目录。

我已确保将变量括在双百分号中,因此我看不出问题所在。如果我在命令提示符中手动输入它(没有 %userinput% 部分,当然变量只有一个百分号),它就会执行得很好。

这是完整控制台窗口的图像:

在此处输入图片描述

答案1

尝试这个:

@echo off
set /p userinput=C:/youtube-dl.exe -o "%cd%/%%(title)s.%%(ext)s" 
C:/youtube-dl.exe -o "%cd%/%%(title)s.%%(ext)s" %userinput%
pause

不同之处在于%cd%,它是一个环境变量,应该用只有一个百分号对。

来源:https://github.com/rg3/youtube-dl/blob/master/README.md#readme

但是您不应该触碰非纯字符的%,例如扩展的环境变量应该保持不变:-o“C:\%HOMEPATH%\Desktop\%%(title)s.%%(ext)s”。

相关内容