1

Я успешно использую 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.

** ОБНОВИТЬ **

Вот итоговая процедура партии, основанная на принятом ответе Анаксунамана.

::   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 ответ1

1

URL-адрес, к которому вы обращаетесь (https://dav.box.com/dav/), является URL-адресом поддержки WebDAV из Box. Следовательно, вы должны иметь возможность использовать с ним обычные запросы WebDAV.

В вашем случае для создания папки вы должны использовать -X MKCOL с cURL (где MKCOL - это метод запроса WebDAV для создания "коллекции", то есть каталога). Попробуйте например:

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

Где %1:%2 - это email:password , как в остальной части вашего сценария.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .