комплексный пакет Windows -o параметр для YouTube-DL - как правильно отформатировать?

634
FredThompson

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

0

1 ответ на вопрос

0
FredThompson

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

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

Часто хорошее описание проблемы приводит к лучшему поиску ответа. uSlackr 6 лет назад 0