Function std::fs::rename1.0.0[][src]

pub fn rename<P: AsRef<Path>, Q: AsRef<Path>>(from: P, to: Q) -> Result<()>
Expand description

将文件或目录重命名为新名称,如果 to 已经存在,则替换原始文件。

如果新名称在其他安装点上,则将无法使用。

平台特定的行为

该函数当前对应于 Unix 上的 rename 函数和 Windows 上带有 MOVEFILE_REPLACE_EXISTING 标志的 MoveFileEx 函数。

因此,fromto 都存在时的行为是不同的。在 Unix 上,如果 from 是目录,则 to 也必须是 (empty) 目录。如果 from 不是目录,则 to 也必须不是目录。

相比之下,在 Windows 上,from 可以是任何东西,但是 to 一定不是目录。

注意,这个 may change in the future

Errors

在以下情况下,此函数将返回错误,但不仅限于这些情况:

  • from 不存在。
  • 用户没有查看内容的权限。
  • fromto 在单独的文件系统上。

Examples

use std::fs;

fn main() -> std::io::Result<()> {
    fs::rename("a.txt", "b.txt")?; // 将 a.txt 重命名为 b.txt
    Ok(())
}
Run