如何更新文件的修改时间?

问题描述 投票:0回答:3

我正在尝试更新文件的文件修改元数据。我可以访问

Metadata
:

use std::fs;

fn main() -> std::io::Result<()> {
    let metadata = fs::metadata("foo.txt")?;

    if let Ok(time) = metadata.modified() {
        println!("{:?}", time);
    } else {
        println!("Not supported on this platform");
    }
    Ok(())
}

但我不知道如何改变这个值。我的直觉是以附加模式打开现有文件并写入一个空字符串 - 不起作用。

一般的方法是什么样的?

file rust io
3个回答
5
投票

set_file_mtime
crate 中的
filetime
函数可以更新文件修改时间元数据:

use filetime::{set_file_mtime, FileTime};

fn main() {
    set_file_mtime("foo.txt", FileTime::now()).unwrap();
}

2
投票

您将需要一个外部板条箱:

filetime


0
投票

不再需要外部 crate,自 Rust 1.75.0 以来有一个新的 API:

© www.soinside.com 2019 - 2024. All rights reserved.