私は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%
アクセスしている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:%2
はemail:password
です。