web-dev-qa-db-ja.com

Box.comストレージにフォルダーを作成するためのcURLコマンドラインはありますか?

私は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
rossmcm

アクセスしているURL( https://dav.box.com/dav/ )は、Boxからの WebDAV サポートのURLです。したがって、通常のWebDAVリクエストを使用できるはずです。

あなたの場合、フォルダを作成するには、cURLで-X MKCOLを使用します(ここで、MKCOLは「コレクション」、つまりディレクトリを作成するためのWebDAVリクエストメソッドです)。例を試してください:

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

スクリプトの残りの部分と同様に、%1:%2email:passwordです。

1
Anaksunaman