|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Комментарий внутри цикла FOR |
|
|
CMD/BAT - Комментарий внутри цикла FOR
|
Старожил Сообщения: 345 |
Как сделать, чтобы комментарий в цикле FOR не мешал работе:
т.е. я не хочу удалять строки, а лишь убрать из цикла для моего удобства. |
|
Отправлено: 11:21, 18-12-2017 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Sisin, имхо, двоеточие- это метка, а комментарий начинается rem c пробелом
|
------- Отправлено: 11:28, 18-12-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 11:30, 18-12-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Sisin, комментарии не могут располагаться внутри строки команд. А у Вас, как было верно замечено, даже не комментарии. Впрочем, если бы были и комментарии — то тоже не могут. Уберите переносы и что выйдет?
И с чего бы ей исполняться?! |
Последний раз редактировалось Iska, 18-12-2017 в 11:48. Причина: Заменил «не будут» на «не могут». Отправлено: 11:41, 18-12-2017 | #4 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать А можно как-то извратиться, чтобы аргументы для ffmpeg.exe передавались построчно, но так, чтобы между строчек можно было бы вставлять комментарии???
|
|
Отправлено: 12:18, 18-12-2017 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Sisin, это не между строчек, понимаете? Это внутри одной строки. Никак Вы не вставите комментарий внутрь команды.
Я так понимаю, Вы комментарии вставляете не из любви к искусству, а для памяти, дабы не запоминать имена параметров, и за что каждый из них отвечает, да? Тогда предлагаю воспользоваться, например, следующим способом: Скрытый текст
@echo off setlocal enableextensions enabledelayedexpansion rem Начало обрезки: set sStartTime=00:08:38 rem Продолжительность обрезки: set sPeriod=00:05:00 for %%a in (*.mkv;*.mp4;*.wmv) do ( ffmpeg.exe ^ -i "%%~a" ^ -c:v copy ^ -c:a copy ^ -ss %sStartTime% ^ -t %sPeriod% ^ "fix\%%~na.mkv" ) endlocal exit /b 0 |
Отправлено: 12:39, 18-12-2017 | #6 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Вот другой НЕРАБОТАЮЩИЙ пример: Пример
for %%a in (fix\*.mkv) do ( ::Настройка по умолчанию для 1 видео и 1 аудио дорожек mkvmerge -o "fixed\%%~nxa" ^ rem Распознавание дорожек: rem -d 0 -a 1,2 -s 3 -d 0 a 1 -S -T ^ --track-name 0:"" ^ --track-name 1:"" ^ rem--track-name 2:"" ^ --language 0:und ^ --language 1:rus ^ rem --language 2:rus ^ --default-track 0:yes ^ --default-track 1:yes ^ rem --default-track 2:no ^ --forced-track 0:no ^ --forced-track 1:no ^ rem --forced-track 2:no ^ --compression 0:none ^ --compression 1:none ^ rem --compression 2:none ^ --title "" ^ rem Очередность дорожек: rem --track-order 0:0,0:1,0:2,0:3 --track-order 0:0,0:1 ^ --no-global-tags ^ --no-chapters ^ --disable-track-statistics-tags ^ "%%~a" ) Мне удобнее было бы не удалять строчки, а отключать. Сейчас у меня комментарии расположены отдельно и приходится их переносить с места на место. Так сейчас
for %%a in (fix\*.mkv) do ( ::Настройка по умолчанию для 1 видео и 1 аудио дорожек mkvmerge -o "fixed\%%~nxa" ^ -d 0 a 1 -S -T ^ --track-name 0:"" ^ --track-name 1:"" ^ --language 0:und ^ --language 1:rus ^ --default-track 0:yes ^ --default-track 1:yes ^ --forced-track 0:no ^ --forced-track 1:no ^ --compression 0:none ^ --compression 1:none ^ --title "" ^ --track-order 0:0,0:1 ^ --no-global-tags ^ --no-chapters ^ --disable-track-statistics-tags ^ "%%~a" ) rem -d 0 -a 1,2 -s 3 rem -d 0 a 1 -S -T rem --track-name 0:"" rem --track-name 1:"" rem--track-name 2:"" rem --language 0:und rem --language 1:rus rem --language 2:rus rem --default-track 0:yes rem --default-track 1:yes rem --default-track 2:no rem --forced-track 0:no rem --forced-track 1:no rem --forced-track 2:no rem --compression 0:none rem --compression 1:none rem --compression 2:none rem --title "" rem --track-order 0:0,0:1,0:2,0:3 rem --track-order 0:0,0:1 rem --no-global-tags rem --no-chapters rem --disable-track-statistics-tags |
|
Последний раз редактировалось Sisin, 18-12-2017 в 13:14. Отправлено: 12:55, 18-12-2017 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Sisin:
![]() Скрытый текст
@echo off setlocal enableextensions enabledelayedexpansion set sArguments= rem Начало обрезки: set sArguments=%sArguments% -ss 00:08:38 rem Продолжительность обрезки: set sArguments=%sArguments% -t 00:05:00 for %%a in (*.mkv;*.mp4;*.wmv) do ( ffmpeg.exe ^ -i "%%~a" ^ -c:v copy ^ -c:a copy ^ %sArguments% ^ "fix\%%~na.mkv" ) endlocal exit /b 0 и при нужде Вы просто комментируете/раскомментируете тот или иной аргумент. P.S. Может, Вам проще будет взять одну из многочисленных GUI-оболочек для ffmpeg.exe и не мучаться, не?! |
|
Отправлено: 13:18, 18-12-2017 | #8 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 13:39, 18-12-2017 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Ну, тогда так:
Цитата Iska:
|
|
Отправлено: 13:45, 18-12-2017 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Как работать с переменной внутри цикла FOR? | alex_past | Скриптовые языки администрирования Windows | 42 | 28-11-2018 16:19 | |
CMD/BAT - переменная меняется внутри цикла for, последовательно принимая значения имен файлов | islily | Скриптовые языки администрирования Windows | 18 | 02-12-2014 22:14 | |
CMD/BAT - Переменная внутри цикла | VAbramyak | Скриптовые языки администрирования Windows | 9 | 06-06-2014 15:59 | |
CMD/BAT - [решено] %errorlevel% внутри цикла всегда 0 | apozlevich | Скриптовые языки администрирования Windows | 5 | 22-11-2013 18:55 | |
CMD/BAT - [решено] Условия внутри цикла for | blackmane | Скриптовые языки администрирования Windows | 4 | 02-08-2012 10:01 |
|