# Rclone 簡易操作教學
## 如何使用 Rclone 對雲端檔案做處理
1. 下載rclone
[https://rclone.org/downloads/](https://rclone.org/downloads/)
- 頁面中有一個表格,表格左邊縱列是CPU的架構,而上面橫列是作業系統版本,像是一般桌上型或筆記型電腦就選 Intel/AMD - 64 Bit 與 Windows 交界的下載按鈕就好
- 下載完後會是一個壓縮檔,打開壓縮檔就會看到名稱開頭為rclone的資料夾,再把這個資料夾解壓縮到要放的地方
---
2. 使用rclone
- rclone本身是命令列工具,所以不能直接打開rclone.exe
:::info
如果是用Linux/macOS/BSD的系統
在終端機(terminal)輸入
>sudo -v ; curl https://rclone.org/install.sh | sudo bash
:::
:::info
如果是用Windows 10的系統
- 先打開rclone的資料夾,從資料夾的左上角點擊檔案
- 選擇開啟Windows PowerShell
- 就會打開powershell的畫面,然後就可以輸入指令使用rclone了
:::
:::info
如果是用Windows 11的系統
- 打開rclone的資料夾按右鍵,選擇 Open in terminal

- 一樣會打開powershell的畫面,然後就可以使用rclone了
:::
---
### Rclone 呼叫
在Windows中,直接打rclone會無法執行,必須打
>./rclone.exe
所以我們必須做一些額外的設定讓我們可以直接打rclone來使用
- 按下 Win + R 呼叫出執行
- 輸入 sysdm.cpl

- 會出現系統內容頁面,再選擇進階,然後按環境變數

- 按一下使用者變數框內的Path,沒看到Path的話在框框內按一下然後滑鼠滾輪往下捲,看到Path再按一下
- 按一下框內的編輯,會跳出編輯環境變數的視窗
- 在跳出來的視窗中按新增,然後按瀏覽,再選擇rclone所在的資料夾

- 然後按確定,會回到編輯環境變數的視窗,按確定,回到環境變數的視窗,按確定,回到系統內容的視窗,按確定
- 這樣就完成對rclone的呼叫設定,以後只要打開powershell就可以使用,不需要在rclone所在的資料夾操作
### Rclone 設定
- 由於我們要對雲端檔案做操作,所以要先讓rclone登入雲端才行
- 打開powershell輸入rclone config
- 輸入n加入新的雲端,然後輸入在rclone中對新雲端的命名
**這個命名是你在rclone用指令呼叫這個雲端時候用的,建議不要名稱取太長**
- 再選擇你想用的雲端,像是Google Drive就輸入18,而One Drive就輸入32,以此類推
- 接下來如果你看得懂rclone的內容而且想要設定的話可以自行輸入
- 看不懂呢?一直按Enter就好(不是所有雲端都可以,像Mega就要輸入帳號資料,但Google Drive和OneDrive與Dropbox就可以)
- 然後rclone會跳出網頁要求登入,這樣rclone才能存取雲端檔案
- 登入完就會看到這個頁面,這個頁面代表rclone已經成功登入,可以回到rclone(powershell視窗)繼續操作

:::info
- 接下來如果你設定的是Google Drive的共享雲端硬碟在看到這個選項時,記得一定要輸入y

- 然後用瀏覽器打開要使用的共享雲端硬碟的網頁,會看到網頁是https://drive.google.com/drive/folders/這邊有一串ID
將那串ID複製下來,再切回rclone(powershell視窗),點一下視窗後按右鍵將ID貼上後按Enter

- 接下來基本上就是按Enter,到最後rclone會有一個最後確認保留雲端的選擇

輸入y就可以了,然後就會跳回config的畫面輸入q就可以離開了

---
### Rclone 指令
當雲端都設定好了,接下來我們就可以對雲端檔案做處理了
rclone 所使用**路徑**格式為 **`雲端名稱:雲端中的路徑/`**
就像電腦的C槽(C:/)和D槽(D:/)一樣,所以就算只有雲端名稱`:`一定要打
### rclone lsf/lsd
```
rclone lsf drive:folder
rclone lsd drive:folder
```
這兩個指令可以讓我們查看在雲端的檔案和資料夾,lsf只看資料夾
### rclone copy
```
rclone copy source:sourcepath dest:destpath
```
**source:sourcepath是來源端 dest:destpath是目標端**,不要弄反了
路徑格式為 `雲端名稱:雲端中的路徑/`
- 假設今天我有一個雲端A的全部檔案要移到雲端B,雲端A叫drive1,雲端B叫drive2,指令要怎麼打呢?
`rclone copy drive1: drive2:`
- 假設今天我有一個在雲端A的檔案夾叫myfolder要移到雲端B的save資料夾中test的資料夾中,雲端A叫drive1,雲端B叫drive2,指令要怎麼打呢?
`rclone copy drive1:myfolder drive2:save/test`
rclone指令中還有一些參數,可以讓我們使用上更方便像是
> -P, --progress Show progress during transfer
可以讓我們看到目前的進度,畫面會類似這樣

使用方式為
```
rclone copy -P drive1: drive2:
```
輸入完沒看到進度顯示的話,按一下向下的方向鍵就可以看到了