Update Users-Drive-Copy-Move.md

This commit is contained in:
Ross Scroggs
2025-11-03 15:08:23 -08:00
parent 59e425e41c
commit 360485b3aa

View File

@@ -385,7 +385,7 @@ gam user user@domain.com copy drivefile root recursive teamdriveparentid <Shared
``` ```
### Copy content of a Shared Drive to another Shared Drive ### Copy content of a Shared Drive to another Shared Drive
Suppose you have a source Shared Drive called 0AC_1AB with multiple files and folders, and want to copy all of its content to the target Shared Drive 0AE_9ZX. Suppose you have a source Shared Drive with ID 0AC_1AB with multiple files and folders, and want to copy all of its content to the target Shared Drive with ID 0AE_9ZX.
The following command will copy the content, files and folders inside the source drive recursively, and put them in the target drive. The following command will copy the content, files and folders inside the source drive recursively, and put them in the target drive.
@@ -428,6 +428,51 @@ gam user user@domain.com copy drivefile teamdriveid 0AC_1AB teamdriveparentid 0A
copyfilenoninheritedpermissions true copyfilenoninheritedpermissions true
``` ```
### Copy content of a source Shared Drive to a target Shared Drive with parallel Processing
Suppose you have a source Shared Drive with ID 0AC_1AB with multiple files and folders, and want to copy all of its content to the target Shared Drive with ID 0AE_9ZX.
Get top level items on source Shared Drive
```
gam redirect csv ./TopSDItems.csv user user@domain.com print filelist select 0AC_1AB fields id,name,mimetype depth 0
```
Copy the top level items to target Shared Drive; append desired permission options
```
gam redirect stdout ./CopySharedDrive.txt multiprocess redirect stderr stdout csv TopSDItems.csv gam user user@domain.com copy drivefile "~id" recursive teamdriveparentid 0AE_9ZX
```
### Copy content of a source Shared Drive folder to a target Shared Drive with parallel Processing
Get top level items on source Shared Drive folder with ID 1BX-8W3
```
gam redirect csv ./TopSDItems.csv user user@domain.com print filelist select 1Bx-8W3 fields id,name,mimetype depth 0
```
Create a folder on target Shared Drive with ID 0AE_9ZX, replace "New Folder Name" as desired.
```
gam user user@domain.com create drivefile mimetype gfolder teamdriveparentid 0AE-9ZX drivefilename "New Folder Name" returnidonly
```
Copy the folder top level items to target Shared Drive folder, assume ID 2CY-45G was returned in previous step
```
gam redirect stdout ./CopySharedDrive.txt multiprocess redirect stderr stdout csv TopSDItems.csv gam user user@domain.com copy drivefile "~id" recursive teamdriveparentid 2CY-45G
```
You can script the steps:
```
Linux/MacOS
```
gam redirect csv ./TopSDItems.csv user user@domain.com print filelist select 1Bx-8W3 fields id,name,mimetype depth 0
targetFolderId=$(gam user user@domain.com create drivefile mimetype gfolder teamdriveparentid 0AE-9ZX drivefilename "New Folder Name" returnidonly)
gam redirect stdout ./CopySharedDrive.txt multiprocess redirect stderr stdout csv TopSDItems.csv gam user user@domain.com copy drivefile "~id" recursive teamdriveparentid $targetFolderId
```
Windows PowerShell
```
gam redirect csv ./TopSDItems.csv user user@domain.com print filelist select 1Bx-8W3 fields id,name,mimetype depth 0
$targetFolderId = & gam user user@domain.com create drivefile mimetype gfolder teamdriveparentid 0AE-9ZX drivefilename "New Folder Name" returnidonly
gam redirect stdout ./CopySharedDrive.txt multiprocess redirect stderr stdout csv TopSDItems.csv gam user user@domain.com copy drivefile "~id" recursive teamdriveparentid $targetFolderId
```
Windows Command Prompt
```
gam redirect csv ./TopSDItems.csv user user@domain.com print filelist select 1Bx-8W3 fields id,name,mimetype depth 0
FOR /F "delims=" %%A IN ('gam user user@domain.com create drivefile mimetype gfolder teamdriveparentid 0AE-9ZX drivefilename "New Folder Name" returnidonly') DO (SET "taregtFolderId=%%A")
gam redirect stdout ./CopySharedDrive.txt multiprocess redirect stderr stdout csv TopSDItems.csv gam user user@domain.com copy drivefile "~id" recursive teamdriveparentid %targetFolderId%
```
## Move files and folders ## Move files and folders
## Move My Drive folder to Shared Drive ## Move My Drive folder to Shared Drive
There are two methods for moving a folder from a My Drive to a Shared Drive: There are two methods for moving a folder from a My Drive to a Shared Drive: