Войти

Показать полную графическую версию : Комментарий внутри цикла FOR


Страниц : 1 [2]

Iska
19-12-2017, 14:33
Помогло. Заменил на квадратные. Работает. А чем это вызвано?? »
Тем, что в пакетных файлах отсутствует понятие строковой лексемы как отдельной сущности, потому вот здесь:
:Parameters
For /F "usebackq tokens=1* delims=:" %%a In (`"FINDSTR /B /L /I /N /C:%1 "%~dpnx0""`) DO Set /A Nbeg=%%a
Set "%~2="
For /F "usebackq tokens=1,* delims=~" %%a In (`"more +%Nbeg% "%~dpnx0""`) DO (
If /I "%%a"=="GoTo :Eof" GoTo :Eof
If Not "%%a"==":" Set "%~2=!%~2! %%a"
)
GoTo :Eof

переменная %0 разворачивается «как есть», и наличествующие в имени пакетного файла круглые скобки сводят лексический анализатор с ума — он начинает воспринимать закрывающую круглую скобку из имени файла как закрывающую скобку в наборе «in (…) do …».

Sisin
19-12-2017, 14:48
Короче, погонял пакетный файл. Нормально работает если название без пробелов.
Если с пробелами или знаками, то ffmpeg просто начинает конвертирование без учета указанных параметров.

Iska
19-12-2017, 14:51
При детальном изучении квадратная скобка тоже косячит. Пакетный файл работает, но параметры не считываются. »
Может быть, я детально код не смотрел.

P.S. Вот за такие вещи я и не люблю пакетные файлы и PowerShell.




© OSzone.net 2001-2012