下載大容量的Sharepoint資料夾
Read On HackMD
- Sharepoint Folder Link
- Password :
pass
- Rclone (version larger than 1.56.0)
rclone --versionto check current version
you can userclone selfupdateto upgrade to latest version - Get Cookie.txt
一般來說,只要Sharepoint的資料夾含有數GB的大小,使用網頁版的下載鈕進行下載

得到的zip檔要進行解壓縮都會出現錯誤,甚至載下來的大小根本就與資料夾大小不符

不管重載幾次都是同樣的結果,最終只能一個一個檔案慢慢下載,非常麻煩
這問題真的是困擾了我好久,只能說在下載這方面,Google Drive真的是做得比Sharepoint好太多了==
以前我曾經將別人的專案修改成一個Sharepoint的下載器(Windows) (Link),但後來因為api有更新,所以這工具就不能使用了。
目前最新發現的方法是使用Rclone搭配其中的Webdav來進行下載,以下進行教學示範:
註:本教學以Windows系統為主,其他OS會略有不同,但都可以使用
- 安裝Rclone (一款實用的雲端管理工具)
已經安裝過的人要確保rclone版本大於1.56.0 (
rclone --version)
若版本過低,可以使用rclone selfupdate來自動升級成最新版- 進入下載頁面,根據作業系統與架構選擇你要的壓縮包 (一般電腦選Intel/AMD - 64 Bit即可),解壓縮到你想放的位置
- 複製
rclone.exe所在的路徑,以我的來說是D:\apps\rclone-v1.55.1-windows-amd64\ - 進入「進階系統設定」->「環境變數」->「系統變數」->「Path」->「編輯」

- 按下新增,並將rclone路徑貼上,如此一來,便能在電腦的任何位置存取到
rclone.exe

- 使用任何方式來獲取Sharepoint網站的Cookie,然後先複製存起來
- 這裡推薦使用Chrome的外掛 : Get Cookie.txt,當然你也可以用瀏覽器的F12去找到Cookie
- 可以使用我放的資料夾來測試
- Sharepoint Folder Link
- Password :
pass
- 新增Sharepoint專用的remote
- 開啟終端機(cmd或是powershell),輸入
rclone config - 輸入
n來新增remote,將名稱設定為sharepoint_download(或任何你想取的名字) - 選擇WebDAV服務 (找到其數字,並輸入)
- 接下來要輸入Sharepoint的資料夾網址,但不能直接複製貼上瀏覽器上的網址,必須經過以下處理
- 以我的範例資料夾來說 :
https://mailntustedutw-my.sharepoint.com/:f:/g/personal/b10815057_ms_ntust_edu_tw/Es39WLciVAhBksY52KNsNAwBgf1_Cs4Br_YmVyejI_bWNQ?e=ZrdmF9https://mailntustedutw-my.sharepoint.com/personal/b10815057_ms_ntust_edu_tw/Documents/TestDownloadFolder因為有些資料夾名稱含有日文或其他中文字元,貼到終端機上可能導致亂碼,這時候就要先將資料夾名進行URL Encoding : 線上工具
- 接下來詢問vendor,請選擇other (不要選上方的sharepoint)
- User與Password、bearer_token都直接按Enter採用預設即可
- 詢問
Edit advanced config?時,請輸入y - 接下來除了詢問header之外,直接按Enter採用預設即可
- 詢問header時,請輸入:
Cookie,FedAuth=前面步驟複製的Cookie - 開啟終端機(cmd或是powershell),輸入
- 下載Sharepoint資料夾
- 接著要下載就很簡單了,只要在終端機執行以下指令即可
rclone copy sharepoint_download: 你要下載到的目標資料夾(e.g. D:\Downloads\) -P --transfers=1- 其中
-P代表的是顯示下載進度,--transfers=1代表同時下載的檔案數量為1 - 如果下載到一半時中斷了,再重新執行一次指令即可,已下載完成的檔案會保留住,並且不會再次下載
- 更改下載網址與更新Cookie
- 之後如果要下載其他資料夾,就不用再像上面那樣經過很多步驟
- 可以先輸入
rclone config file來獲取remote設定存放位置 - 開啟
rclone.conf找到[sharepoint_download]的地方 - 替換
url=後面的那串網址即可,更新Cookie也是同理 - 要特別注意的是,Cookie是會過期的,因此如果下載時出現
403 FORBIDDEN之類的訊息,就要再重新抓取一次Cookie,並替換到rclone.conf中。
comming soon...


