是否有 cURL 命令行可以在 Box.com 存储中创建文件夹?

是否有 cURL 命令行可以在 Box.com 存储中创建文件夹?

我正在成功使用 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 MKCOLcURL(其中MKCOL是 WebDAV 请求方法来创建“集合”,即目录)。尝试例如:

curl --insecure -u %1:%2 -X MKCOL "https://dav.box.com/dav/test-folder"

%1:%2在哪里email:password,就像在脚本的其余部分一样。

相关内容