我尝试将linux安装脚本移植到Windows。在脚本中我有像
这样的文件下载ASL_DISTRO_SITE=surfnet.dl.sourceforge.net
BOOST_NAME=boost_1_44_0
BOOST_VERSION=1.44.0
if [ ! -e $BOOST_DISTRO_NAME ]; then
echo_run ${CURL_CMD} http://$ASL_DISTRO_SITE/project/boost/boost/$BOOST_VERSION/$BOOST_DISTRO_NAME -o $BOOST_DISTRO_NAME
fi
如何将这部分脚本移植到windows .bat语言?默认情况下是否有来自MS的工具?
答案 0 :(得分:1)
您提供的代码中似乎有一些丢失的项目,但这里是对如何继续进行的最佳猜测:
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%
)
我没有一种简单的方法来测试它,所以如果它不起作用,删除打开和关闭的parens和continuation char'^',并将所有%CURL_CMD% ...
命令放在与if NOT EXISTS ...
相同的行。
因此,您需要为BOOST_BASE_DIR(我已将其作为var添加到脚本中)提供值,BOOST_DISTRO_NAME,CURL_CMD .... AND ...您需要找出是否需要echo_run
,我不这么认为。对于echo_run
,您必须查看原始脚本。我猜这是一个定义的函数,它使用eval
。如果是这样,以上可能无效。制作没有IF NOT测试的bat文件,但是使用所有set ...
变量和%CURL_CMD%
,运行它,然后将失败的输出添加到上面的问题中; - )
我希望这会有所帮助。
答案 1 :(得分:0)
从here
下载适用于Windows的cURL