batch-file - 使用 CURL 从批处理文件中下载
问题描述
我正在尝试使用 CURL 从批处理文件下载 maya devkit:
call curl https://s3-us-west-2.amazonaws.com/autodesk-adn-transfer/ADN+Extranet/M%%26E/Maya/devkit+2018/Maya2018-DEVKIT_Windows.zip --output tmp.zip
但是,这给了我一个空的输出文件。cmd
奇怪的是,如果我在(减去额外的百分号)中运行完全相同的命令,它会完美运行。
是否有任何符号需要转义才能使此特定命令起作用?
解决方案
尝试这个:
curl -A "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64)" -L "https://s3-us-west-2.amazonaws.com/autodesk-adn-transfer/ADN+Extranet/M%26E/Maya/devkit+2018/Maya2018-DEVKIT_Windows.zip" -o tmp.zip
或者放入.bat
/.cmd
批处理文件,通过这个:
curl -A "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64)" -L "https://s3-us-west-2.amazonaws.com/autodesk-adn-transfer/ADN+Extranet/M%%26E/Maya/devkit+2018/Maya2018-DEVKIT_Windows.zip" -o tmp.zip
建议通过-A
开关添加用户代理,还需要用双引号将网址括起来。
有时您还需要-L
和-e RefererURL
下载文件。
通常call
是不必要的,如果你想在单独的线程中下载它,你可以使用start
. 当您需要调用子过程/函数并传递参数时使用call
,并且由于它是另一层批处理调用,因此您还需要%
再次加倍,因为它被转义了两次。
这意味着,这将在批处理文件中工作:
call curl -A "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64)" -L "https://s3-us-west-2.amazonaws.com/autodesk-adn-transfer/ADN+Extranet/M%%%%26E/Maya/devkit+2018/Maya2018-DEVKIT_Windows.zip" -o tmp.zip
推荐阅读
- mysql - 嵌套集合 SQL 查询以检索每个节点的第一个祖先
- github - 如何在 Web 中恢复我的 GitHub 存储库设置?
- typescript - 使用通用键和预定义的键声明 typescript 类型
- html - 固定定位问题
- java - 无法正确调用 Java 中的 void 函数以输出到控制台
- vue.js - VueJS - prod build 从 HTML 中删除属性引号
- r - 从sliderInput控件R Shiny获取日期索引时返回Inf错误
- r - 使用列中的多个变量旋转更长的时间
- reactjs - 反应提交表单然后重定向问题
- elasticsearch - 如何在 Elasticsearch 中索引文档以最小化文档数量?