Кажется, что в предоставленном вами коде есть пара недостающих элементов, но вот лучшее предположение о том, как действовать:
set ASL_DISTRO_SITE=surfnet.dl.sourceforge.net
set BOOST_NAME=boost_1_44_0
set BOOST_VERSION=1.44.0
set BOOST_DISTRO_NAME = xxxx?
set CURL_CMD="c:\program files\curl\curl.exe" ???
cd %BOOST_BASE_DIR%
if NOT EXISTS %BOOST_DISTRO_NAME% (
%CURL_CMD% ^
http://$ASL_DISTRO_SITE/project/boost/boost/%BOOST_VERSION%/%BOOST_DISTRO_NAME% ^
-o %BOOST_DISTRO_NAME%
)
У меня нет простого способа проверить это, поэтому, если он не работает, удалите открывающие и закрывающие парены и символ продолжения '^', и поместите все команды %CURL_CMD% ...
в одну строку как if NOT EXISTS ...
.
Итак, вам нужно предоставить значения для BOOST_BASE_DIR (которые я добавил как сценарий в качестве переменной), BOOST_DISTRO_NAME, CURL_CMD .... И ... вам нужно выяснить, если вам нужно echo_run
, я не так не думаю. Для echo_run
вы должны посмотреть на свой оригинальный сценарий. Я думаю, что это определенная функция, которая использует eval
. Если это правда, вышеупомянутое может не работать. Создайте файл bat без теста IF NOT, но со всеми переменными set ...
и %CURL_CMD%
, запустите его, а затем добавьте вывод ошибки в приведенном выше вопросе; -)
Надеюсь, это поможет.