我正在成功使用 cURL 将文件上传到 box.com 存储:
:: send file to Box.com
::
:: Syntax: sb.bat <username> <password> <filename> [<destination filename>]
@setlocal enabledelayedexpansion
@set OutFile=https://dav.box.com/dav/%~4
@if "%~4" equ "" set OutFile=https://dav.box.com/dav/%~nx3
@echo Sending file: "%~dpnx3"
@echo Destination : "%OutFile%"
@set replace=%%20
@set OutFile=%OutFile: =!replace!%
curl --insecure -u %1:%2 -T "%~3" "%OutFile%"
@if %ErrorLevel% neq 0 echo CURL returned error code of %ErrorLevel%
@exit /b %ErrorLevel%
但是,如果目标文件夹不存在,该命令将会失败,而且我找不到任何有关如何使用 cURL 在 Box.com 存储中创建文件夹的示例或文档。
** 更新 **
这是根据 Anaksunaman 接受的答案得出的批处理例程。
:: create a folder at Box.com
::
:: Syntax: cf.bat <username> <password> <pathname>
@setlocal enabledelayedexpansion
@set NewPath=https://dav.box.com/dav/%~3
@echo Creating folder: "%NewPath%"
@set replace=%%20
@set NewPath=%NewPath: =!replace!%
@set replace=/
@set NewPath=%NewPath:\=!replace!%
curl --insecure -u %1:%2 -X MKCOL "%NewPath%"
@if %ErrorLevel% neq 0 @echo cURL returned error code of %ErrorLevel%
@exit /b %ErrorLevel%
答案1
您正在访问的 URL (https://dav.box.com/dav/) 是WebDAVBox 的支持。因此,您应该能够使用正常的 WebDAV 请求。
在您的例子中,要创建文件夹,您可以使用-X MKCOL
cURL(其中MKCOL
是 WebDAV 请求方法来创建“集合”,即目录)。尝试例如:
curl --insecure -u %1:%2 -X MKCOL "https://dav.box.com/dav/test-folder"
%1:%2
在哪里email:password
,就像在脚本的其余部分一样。