Целью является пакетный файл, который вызывает 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, помогите мне?

1 ответ1

0

Ну ... еще раз ответ появляется сразу после того, как вопрос опубликован:

-o "%%(список воспроизведения)s/%%(chapter_number)s %%(chapter)s/%%(playlist_index)s %%(title)s. %%(ext)s"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .