将云端硬盘文件移至其他文件夹、为其指定不同的名称,或两者兼而有之。
参数
- file
-
识别您的 Google 云端硬盘上感兴趣的文件的内容。可以是名称或路径、标有
as_id()
或dribble
的文件 ID 或 URL。 - path
-
指定 Google 云端硬盘上文件的目标目的地。可以是实际路径(字符)、标有
as_id()
的文件 ID 或dribble
。如果
path
是文件夹的快捷方式,它会自动解析为其目标文件夹。如果
path
作为路径给出(而不是dribble
或 id),最好通过包含尾部斜杠来明确指示它是否是文件夹,因为它不能总是从文件夹的上下文中计算出来。称呼。默认情况下,文件保留在当前文件夹中。 - name
-
字符,如果未指定为
path
的一部分,则为新文件名。这将强制path
被解释为文件夹,即使它是字符并且缺少尾部斜杠。默认情况下,文件保留其当前名称。 - overwrite
-
逻辑,指示是否检查目标"filepath"处是否存在预先存在的文件。 "filepath" 周围的引号是指 Drive 不会像典型的文件系统那样在文件路径和文件之间强加一对一的关系;在
drive_get()
中了解更多相关信息。-
NA
(默认):只需执行该操作,即使它会导致多个文件具有相同的文件路径。 -
TRUE
:检查文件路径中是否存在预先存在的文件。如果有零个或一个,请将预先存在的文件移至箱子,然后继续。请注意,新文件不会继承旧文件的任何属性,例如共享或发布设置。它将有一个新的文件 ID。如果找到两个或多个预先存在的文件,则会引发错误。 -
FALSE
:如果文件路径中存在任何预先存在的文件,则会出错。
请注意,基于文件路径的存在性检查是昂贵的操作,即它们需要额外的 API 调用。
-
- verbose
-
这种对各个 googledrive 函数的逻辑论证已被弃用。要全局禁止 googledrive 消息传递,请使用
options(googledrive_quiet = TRUE)
(默认行为是发出信息性消息)。要以更有限的方式抑制消息传递,请使用帮助程序local_drive_quiet()
或者with_drive_quiet()
.
值
dribble
类的对象,每个文件一行的 tibble。
例子
# create a file to move
file <- drive_example_remote("chicken.txt") %>%
drive_cp("chicken-mv.txt")
#> Original file:
#> • chicken.txt <id: 1wOLeWVRkTb6lDmLRiOhg9iKM7DlN762Y>
#> Copied to file:
#> • chicken-mv.txt <id: 1_sKTk6rXNrzjGr3bxNk6BfjrVHtdu8Lr>
# rename it, but leave in current folder (root folder, in this case)
file <- drive_mv(file, "chicken-mv-renamed.txt")
#> Original file:
#> • chicken-mv.txt <id: 1_sKTk6rXNrzjGr3bxNk6BfjrVHtdu8Lr>
#> Has been renamed:
#> • chicken-mv-renamed.txt <id: 1_sKTk6rXNrzjGr3bxNk6BfjrVHtdu8Lr>
# create a folder to move the file into
folder <- drive_mkdir("mv-folder")
#> Created Drive file:
#> • mv-folder <id: 1SlAEXftUDdEVKnltKW0gXETVmUirTAnA>
#> With MIME type:
#> • application/vnd.google-apps.folder
# move the file and rename it again,
# specify destination as a dribble
file <- drive_mv(file, path = folder, name = "chicken-mv-re-renamed.txt")
#> Original file:
#> • chicken-mv-renamed.txt <id: 1_sKTk6rXNrzjGr3bxNk6BfjrVHtdu8Lr>
#> Has been renamed and moved:
#> • mv-folder/chicken-mv-re-renamed.txt
#> <id: 1_sKTk6rXNrzjGr3bxNk6BfjrVHtdu8Lr>
# verify renamed file is now in the folder
drive_ls(folder)
#> # A dribble: 1 × 3
#> name id drive_resource
#> <chr> <drv_id> <list>
#> 1 chicken-mv-re-renamed.txt 1_sKTk6… <named list [42]>
# move the file back to root folder
file <- drive_mv(file, "~/")
#> Original file:
#> • chicken-mv-re-renamed.txt <id: 1_sKTk6rXNrzjGr3bxNk6BfjrVHtdu8Lr>
#> Has been moved:
#> • ~/chicken-mv-re-renamed.txt <id: 1_sKTk6rXNrzjGr3bxNk6BfjrVHtdu8Lr>
# move it again
# specify destination as path with trailing slash
# to ensure we get a move vs. renaming it to "mv-folder"
file <- drive_mv(file, "mv-folder/")
#> Original file:
#> • chicken-mv-re-renamed.txt <id: 1_sKTk6rXNrzjGr3bxNk6BfjrVHtdu8Lr>
#> Has been moved:
#> • mv-folder/chicken-mv-re-renamed.txt
#> <id: 1_sKTk6rXNrzjGr3bxNk6BfjrVHtdu8Lr>
# `overwrite = FALSE` errors if something already exists at target filepath
# THIS WILL ERROR!
drive_create("name-squatter-mv", path = "~/")
#> Created Drive file:
#> • name-squatter-mv <id: 1g5GU11l_To47XfVsCrG5myp__NF3NS1F>
#> With MIME type:
#> • application/octet-stream
drive_mv(file, path = "~/", name = "name-squatter-mv", overwrite = FALSE)
#> Error in check_for_overwrite(parent = params[["addParents"]] %||% parent_before, name = params[["name"]] %||% file$name, overwrite = overwrite): 1 item already exists at the target filepath and `overwrite =
#> FALSE`:
#> • name-squatter-mv <id: 1g5GU11l_To47XfVsCrG5myp__NF3NS1F>
# `overwrite = TRUE` moves the existing item to trash, then proceeds
drive_mv(file, path = "~/", name = "name-squatter-mv", overwrite = TRUE)
#> File trashed:
#> • name-squatter-mv <id: 1g5GU11l_To47XfVsCrG5myp__NF3NS1F>
#> Original file:
#> • chicken-mv-re-renamed.txt <id: 1_sKTk6rXNrzjGr3bxNk6BfjrVHtdu8Lr>
#> Has been renamed and moved:
#> • ~/name-squatter-mv <id: 1_sKTk6rXNrzjGr3bxNk6BfjrVHtdu8Lr>
# Clean up
drive_rm(file, folder)
#> Files deleted:
#> • chicken-mv-re-renamed.txt <id: 1_sKTk6rXNrzjGr3bxNk6BfjrVHtdu8Lr>
#> • mv-folder <id: 1SlAEXftUDdEVKnltKW0gXETVmUirTAnA>
相关用法
- R googledrive drive_mime_type 查找 MIME 类型
- R googledrive drive_mkdir 创建云端硬盘文件夹
- R googledrive drive_cp 复制云端硬盘文件
- R googledrive drive_reveal 添加新的云端硬盘文件信息列
- R googledrive drive_rm 从云端硬盘删除文件
- R googledrive drive_id 驱动器 ID 类
- R googledrive drive_auth_configure 编辑和查看身份验证配置
- R googledrive drive_upload 上传到新的云端硬盘文件
- R googledrive drive_put 将新媒体放入云端硬盘文件中
- R googledrive drive_has_token 手上有令牌吗?
- R googledrive drive_user 获取当前用户的信息
- R googledrive drive_rename 重命名云端硬盘文件
- R googledrive drive_trash 将云端硬盘文件移入或移出回收站
- R googledrive drive_share 共享云端硬盘文件
- R googledrive drive_about 获取有关云端硬盘函数的信息
- R googledrive drive_update 更新现有云端硬盘文件
- R googledrive drive_fields 请求部分资源
- R googledrive drive_endpoints 列出驱动器端点
- R googledrive drive_deauth 暂停授权
- R googledrive drive_link 检索云端硬盘文件链接
- R googledrive drive_find 在 Google 云端硬盘上查找文件
- R googledrive drive_create 创建一个新的空白云端硬盘文件
- R googledrive drive_examples 示例文件
- R googledrive drive_browse 在浏览器中访问云端硬盘文件
- R googledrive drive_token 生成配置的令牌
注:本文由纯净天空筛选整理自Jennifer Bryan等大神的英文原创作品 Move a Drive file。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。