Целью является пакетный файл, который вызывает youtube-dl для сохранения файлов в папках с этим соглашением об именах:
номер главы [пробел] имя главы \ индекс списка воспроизведения [пробел] title.ext
Эта попытка передать аргумент в windows youtube-dl не удалась:
-o "%(chapter_number)s%(chapter)s\%(playlist_index)s%(title)s.%(ext)s"
В Windows не совсем правильный метод синтаксического анализа командной строки (см .: https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong -в пути / )
Я попытался заменить символы пробела на _ и добавить ^ перед \, но это также не помогло.
Существует множество дискуссий о передаче аргументов, которые включают в себя специальные символы для командных файлов. Эта проблема связана с передачей аргументов из командного файла.
Мне интересно, как правильно передать этот аргумент. Есть 2 варианта, которые я пытаюсь безуспешно;
1) создать строку из всех символов «%(chapter_number) s%(chapter) s\%(playlist_index) s%(title) s.%(Ext) s», включая кавычки, затем передать содержимое строки ... как-то
2) замените пробел и символы \ последовательностями символов, которые точно передадут предполагаемый аргумент.
Может ли кто-нибудь, кто имеет опыт передачи "проблемных" символов в качестве аргументов команды из пакетных файлов Windows, помогите мне?