Existe uma linha de comando cURL para criar uma pasta no armazenamento do Box.com?

1

Estou usando o cURL para fazer upload de arquivos para o armazenamento do 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%

No entanto, o comando falha se a pasta de destino ainda não existir e não consigo encontrar nenhum exemplo ou documentação de como você pode usar o cURL para criar uma pasta no armazenamento do Box.com.

** ATUALIZAÇÃO **

Aqui está a rotina de lote resultante, com base na resposta aceita de 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%
    
por rossmcm 11.05.2018 / 03:51

1 resposta

1

O URL que você está acessando ( link ) é o URL de WebDAV suporte do Box. Portanto, você deve poder usar solicitações normais de WebDAV com ele.

No seu caso, para criar uma pasta, você usaria -X MKCOL com cURL (onde MKCOL é o método de solicitação WebDAV para criar uma "coleção", ou seja, um diretório). Tente, por exemplo:

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

Em que %1:%2 é email:password , como no resto do seu script.

    
por 11.05.2018 / 16:41