1
下正常工作:不能把某個表達式在IF子句中的批處理文件
@echo off
youtube-dl --output D:\path\%%(title)s.%%(ext)s -f bestaudio https://www.youtube.com/watch?v=J9bjJEjK2dQ
我可以添加一個IF
條款(我得到預期的「喜」):
@echo off
IF 1==1 (
echo hi
)
youtube-dl --output D:\path\%%(title)s.%%(ext)s -f bestaudio https://www.youtube.com/watch?v=J9bjJEjK2dQ
但是,當我把youtube-dl
放在IF
子句中時,它不起作用。我得到s.%(ext)s was unexpected at this time.
,沒有hi
。
@echo off
IF 1==1 (
echo hi
youtube-dl --output D:\path\%%(title)s.%%(ext)s -f bestaudio https://www.youtube.com/watch?v=J9bjJEjK2dQ
)
如果我把輸出路徑變量同樣的事情:
@echo off
set OUTPUT=D:\path\%%(title)s.%%(ext)s
IF 1==1 (
echo hi
youtube-dl --output %OUTPUT% -f bestaudio https://www.youtube.com/watch?v=J9bjJEjK2dQ
)
變量本身是沒有問題的,如下面的工作正常:如何
@echo off
set OUTPUT=D:\path\%%(title)s.%%(ext)s
IF 1==1 (
echo hi
)
youtube-dl --output %OUTPUT% -f bestaudio https://www.youtube.com/watch?v=J9bjJEjK2dQ
我把這東西放在IF
條款中?
請問您是否可以完成標題 - 我不知道該怎麼改變它,否則我會自己做。這是一個有趣的問題,一個更好的標題將獲得更多的知名度。 –
@ KenY-N哎呀,完成了! – Blrp
似乎很可能是命令行中的'('/')'。你可能需要引用和/或逃避它們。 – Iridium