Существует ли командная строка cURL для создания папки в хранилище Box.com?

622
rossmcm

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

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

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

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

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

Похожие вопросы