如何使用gdrive cli将内容上传至Drive中指定已创建文件夹?
上传到Google Drive指定文件夹的gdrive CLI实现方法
嘿,我刚好对gdrive CLI的这个用法很熟悉,这就给你一步步讲清楚怎么把内容上传到已创建好的指定文件夹里:
第一步:获取目标文件夹的ID
gdrive CLI是通过文件夹ID来定位上传目标的,所以首先得拿到你要上传到的那个文件夹的ID:
- 运行以下命令列出所有Drive里的文件夹,替换
你的目标文件夹名为实际名称:gdrive list --query "mimeType='application/vnd.google-apps.folder' and name='你的目标文件夹名'" - 命令输出的第一列就是文件夹ID,把这个ID记下来(比如
1abcXYZ23defGHI)。小提示:如果有同名文件夹,输出会显示多个结果,你可以通过创建时间(第三列)来区分哪个是你要的目标文件夹。
第二步:上传单个文件到指定文件夹
用--parent参数指定目标文件夹ID,命令格式如下:
gdrive upload --parent [你的目标文件夹ID] /本地路径/要上传的文件.ext
比如:
gdrive upload --parent 1abcXYZ23defGHI ~/Documents/report.pdf
第三步:上传整个文件夹到指定文件夹
加上--recursive参数就能递归上传整个文件夹的所有内容(包括子文件夹和文件):
gdrive upload --parent [你的目标文件夹ID] --recursive /本地路径/要上传的文件夹
比如:
gdrive upload --parent 1abcXYZ23defGHI --recursive ~/Projects/my-app
第四步:上传混合文件和文件夹的目录树
其实和上传整个文件夹的逻辑一样,--recursive参数会自动处理目录里的所有内容(不管是单独的文件还是子文件夹),直接用上面的递归上传命令即可,指定好要上传的根目录路径就行。
额外小技巧
如果这个目标文件夹是你经常用到的,可以把ID存成环境变量,避免每次都手动输入:
export GDRIVE_TARGET_FOLDER="1abcXYZ23defGHI"
之后上传就可以简化成:
# 单个文件 gdrive upload --parent $GDRIVE_TARGET_FOLDER ~/Documents/note.txt # 整个文件夹 gdrive upload --parent $GDRIVE_TARGET_FOLDER --recursive ~/Photos/vacation
内容的提问来源于stack exchange,提问作者Geoffroy Tremblay
相关产品推荐
相关产品推荐

