Existe o comando gdrive update
disponível, mas não consigo utilizá-lo:
[root@computer][~]# gdriveupdate -p <DIRECTORY ID> myfile.docx
Uploading myfile.docx
Failed to upload file: googleapi: Error 403: The parents field is not directly writable in update requests. Use the addParents and removeParents parameters instead., fieldNotWritable
Então, fui forçado a criar funções básicas que
Baixe o arquivo Exclua o arquivo online que está no diretório errado Faça o upload do arquivo no local correto
Eu tive que fazer a distinção entre
Arquivos de documentos do Google que exigem comandos de exportação e importação Arquivos de documentos que não são do Google, nos quais os comandos de download e upload podem ser usados
Importar documentos e exportá-los novamente com extensão .docx é melhor do que a extensão .odt (por exemplo, a equação está na imagem com .odt, ao passo que eles são editáveis após a exportação do documento com a extensão .docx).
Eu criei uma pasta $HOME/.gdrive/files
para armazenar o arquivo baixado.
As duas funções são
-
gdrive-change-dir-doc <FILE ID> <DESTINATION FOLDER ID>
gdrive-change-dir-doc () { cd /root/.gdrive/files rm -i * gdrive export --mime application/vnd.openxmlformats-officedocument.wordprocessingml.document $1 gdrive delete $1 gdrive import -p $2 * }
-
gdrive-change-dir-non-doc <FILE ID> <DESTINATION FOLDER ID>
gdrive-change-dir-non-doc () { cd /root/.gdrive/files rm -i * gdrive download $1 gdrive upload -p $2 * gdrive delete $1 }
Agora você pode criar um comando poderoso, como colocar todos os documentos não classificados em uma pasta on-line:
[root@computer][~]# drive list --absolute | grep -v "/" | grep doc| awk '{ print $1 }'|while read i
do
gdrive-change-dir-doc $i <DESTINATION FOLDER>
Done