![](https://www.daydev.com/wp-content/uploads/2021/04/Google-team-drives_Document-Management-System.png)
หลายคนคงต้องการหาวิธีนี้ เทคนิคสร้าง Colab และ Python เขียนคำสั่ง Batch Copy ไฟล์จาก Share Drive มายัง Drive ส่วนตัวของเรา
ปัญหาหนึ่งคือ เรามี Sharedrive แล้วบังเอิญเราถูกจำกัดสิทธิในการ Share ออกไปให้คนอื่นหรือข้างนอกเป็นได้แค่ Viewer ซึ่งถ้าให้ดาวน์โหลดด้วยวิธีนี้ก็ดูจะถึกแลดูเหนื่อยเกินมนุษย์แม้ว่ามันจะแม่นยำที่สุด
![ชั้นวรรณะต่ำสุดแชร์ไม่ได้](https://www.daydev.com/wp-content/uploads/2021/04/Screen-Shot-2564-04-13-at-00.45.33.png)
![วิธีนี้ก็โอเคแต่ถึกเกินไป](https://www.daydev.com/wp-content/uploads/2021/04/Screen-Shot-2564-04-13-at-00.49.51.png)
ใช้เวลาค้นหาวิธียาวนานจากหลายๆ กลุ่มสุดท้ายก็ได้วิธีนี้มา ให้เราสร้าง Short Cut ของ Folder บน Share Drive ที่เราต้องการจะดาวน์โหลดแบบ Batch ครับในตัวอย่างตั้งชื่อ Shortcut ว่า “TH”
![สร้าง shortcut](https://www.daydev.com/wp-content/uploads/2021/04/Screen-Shot-2564-04-13-at-00.51.21.png)
คลิกขวาเลือก “Add shortcut to Drive” แล้วเลือกไปที่ My Drive ครับ จะมี Folder ของ Shortcut ปรากฏขึ้นแบบภาพข้างล่าง:
![Shortcut โฟลเดอร์ชื่อ "TH"](https://www.daydev.com/wp-content/uploads/2021/04/Screen-Shot-2564-04-13-at-00.52.43.png)
สร้าง Folder ใหม่ขึ้นมาสำหรับ Patse ทุกสิ่งที่จะ Copy ไป ในตัวอย่างตั้งชื่อว่า “THX” สำหรับวางไฟล์ที่เราจะทำการ Batch Copy
สร้าง Notebook ใหม่บน Colab ตั้งชื่ออะไรก็ได้ ตัวอย่างผมสร้างดังนี้:
*หมายเหตุ: เอาไปใช้ได้เลยนะแค่เปลี่ยนชื่อ Folder เล็กน้อยตรง “TH” และ “THX” Clone ได้เลยจาก link นี้:
https://colab.research.google.com/drive/1FsCZSu-jlkAGn05BnE_eD0JZysnsOdmi?usp=sharing
เอาล่ะ ใส่คำสั่งต่อไปนี้ ให้เรา Mount Google drive ของเราก่อน:
from google.colab import drive drive.mount('/gdrive')
ทำการ Run หลังจากนั้นเราต้องเอา Authen Key จาก Google Drive เราด้วย:
%cd /gdrive/MyDrive/TH
มันจะให้เราเปิดไปเอา Authen Key มากรอก
ให้ Copy แล้วเอาไปกรอกซะ มันจะได้ค่า UID ของ Folder มาตามนี้:
/gdrive/.shortcut-targets-by-id/<<รหัส UID>>/TH
ต่อมาให้ ทำการ Copy ทุกไฟล์ใน TH ไปยัง THX โดยใช้คำสั่ง
!cp -r '/gdrive/.shortcut-targets-by-id/<<รหัส UID>>/TH/.' '/gdrive/My Drive/THX'
รอมันประมวลผลครับ จะได้ดังนี้:
![มันจะบอกว่า Copy อะไรไปแล้วบ้าง](https://www.daydev.com/wp-content/uploads/2021/04/Screen-Shot-2564-04-13-at-01.01.39.png)
ไปดูที่ Folder ปลายทางระหว่างที่มัน Copy (ซึ่งจะนานหน่อย) จะเห็นไฟล์มาแล้ว!
มันกำลัง ทยอย Copy ไปยัง Folder “THX” ครับ ก็ตั้ง Batch ให้มันเตือนเวลาที่ Copy เสร็จเอาละกัน ส่วนไฟล์ของ Code ใน Colab ก็ตามนี้ครับ
from google.colab import drive drive.mount('/gdrive') %cd /gdrive/MyDrive/TH !cp -r '/gdrive/.shortcut-targets-by-id/<<UID>>/TH/.' '/gdrive/My Drive/THX'
หวังว่าจะได้ประโยชน์กันนะครับ