Function std::fs::rename 1.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
函数。
因此,from
和 to
都存在时的行为是不同的。在 Unix 上,如果 from
是目录,则 to
也必须是 (empty) 目录。如果 from
不是目录,则 to
也必须不是目录。
相比之下,在 Windows 上,from
可以是任何东西,但是 to
一定不是目录。
注意,这个 may change in the future。
Errors
在以下情况下,此函数将返回错误,但不仅限于这些情况:
from
不存在。- 用户没有查看内容的权限。
from
和to
在单独的文件系统上。
Examples
use std::fs; fn main() -> std::io::Result<()> { fs::rename("a.txt", "b.txt")?; // 将 a.txt 重命名为 b.txt Ok(()) }Run