Ну ... еще раз ответ появляется сразу после того, как вопрос опубликован:
-o "%% (список воспроизведения) s / %% (chapter_number) s %% (chapter) s / %% (playlist_index) s %% (title) s. %% (ext) s"
Целью является пакетный файл, который вызывает 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, пожалуйста, помогите мне?
Ну ... еще раз ответ появляется сразу после того, как вопрос опубликован:
-o "%% (список воспроизведения) s / %% (chapter_number) s %% (chapter) s / %% (playlist_index) s %% (title) s. %% (ext) s"