Box CLIで定期的にフォルダ(ファイル)をアップする
タイトルの通りですが、通常のuploadコマンドを使うと、同名ファイルやフォルダがあるとエラーが出てアップロードできません。
力技ですが、アップしたいフォルダ内のIDを取得して、削除してから再アップロードする手順で解決したのでメモしておきます。
※下記Sampleでは1フォルダしか処理してません。複数ファイルとかフォルダを処理する時はfor回すなりの改変をお願いします
test.bat
rem Boxフォルダのデータを一度削除する
box folders:items folderID --csv >> test.csv
rem 取得したcsvからIDを抜き出す
set "csv_file=test.csv"
set "data="
for /f "skip=1 tokens=2 delims=," %%G in (%csv_file%) do (
set "data=%%G"
goto :next
)
:next
echo %data%
rem 不要なファイルは削除しておく
del test.csv
rem 指定したフォルダを削除(-rで中身が残っていても強制削除)
box folders:delete %data% -r
あとは通常のアップロードを行うだけです。
Box_upload.bat
rem Boxへフォルダごとアップロード
box folders:upload ./upload_folder --parent-folder=floderID
もう少しBox CLIの情報増えてくれないかな……。