如何使用 Rust 在 Windows 上找到临时目录?(像类 Unix 上的 /tmp)

How can I find the temporary directory on Windows using Rust? (Like /tmp on Unix-like)

提问人:AggelosT 提问时间:1/13/2023 更新时间:1/13/2023 访问量:351

问:

在 Windows 上查找临时文件目录的最简单方法是什么(相当于在类 Unix 操作系统上)?它是保存在环境变量上,还是始终是特定的变量?我想为 Rust 板条箱找到它,所以只有 Rust 回答。如果可能的话,除了板条箱,我想避免任何东西。/tmpstd

窗户 生锈

评论

1赞 EvilTak 1/13/2023
std::env::temp_dir
0赞 AggelosT 1/13/2023
你能把这个回答给我一个答案,这样我就可以接受它了吗?
1赞 Caesar 1/13/2023
当然,只有 std 才有可能,但请考虑使用 tempfile 而不是重新实现其功能。
0赞 AggelosT 1/13/2023
由于各种原因无法使用。否则我会使用它。tempfile
0赞 ShadowRanger 1/13/2023
@AggelosT:即使你不能使用 ,你也可能希望使用(也记录在 Caesar 的链接中)将文件与其他程序使用的临时文件隔离开来(并使清理更容易)。如果它们都不适用,那么您很有可能遇到 XY 问题并滥用系统临时目录(如果您认为它以任何方式是持久的,并且以任何方式依赖它,事情最终会中断)。tempfiletempdir

答:

3赞 EvilTak 1/13/2023 #1

std::env::temp_dir() 返回系统临时目录的路径。根据发布此答案时的文档,

在 Windows 上,该行为等效于此函数在内部使用的 GetTempPath2 / GetTempPath 的行为。