You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用System.IO.File.Move未指定目录路径的问题及文件去向

File.Move未指定完整路径?文件去向、数据状态全解析

文件去哪了?

你只传"Updated.txt"作为目标路径时,这是个相对路径,文件会被移动到程序的工作目录里:

  • 在VS Code里运行C#程序,默认工作目录是你的项目根目录(就是存放.csproj文件的文件夹),而非原文件所在的C:\Coding\Testing目录。
  • 想快速定位的话,在代码里加一行Console.WriteLine(Directory.GetCurrentDirectory());,运行后控制台会输出当前工作目录,直接去该目录就能找到Updated.txt。

数据还能找回来吗?

完全可以,数据根本没被销毁,只是换了存储位置。只要你没在工作目录里删除或覆盖这个文件,直接去取就行,不需要任何恢复工具。

错误代码-532462766是怎么回事?

这个错误码对应.NET运行时的未处理异常(HRESULT: 0xE0434352),大概率是你后续代码尝试读取原路径的文件(但文件已经移走),或是工作目录存在权限问题,但核心原因还是你对相对路径的指向逻辑不清晰。

以后怎么避免这类问题?

  • 使用File.Move时,尽量给目标参数指定绝对路径,避免路径歧义。
  • 如果要在原目录下重命名文件,直接拼接原文件的目录路径即可,示例代码如下:
    var fileToRename = "C:\\Coding\\Testing\\zesty.txt";
    // 自动拼接原文件所在目录与新文件名
    var targetPath = Path.Combine(Path.GetDirectoryName(fileToRename), "Updated.txt");
    System.IO.File.Move(fileToRename, targetPath);
    

内容的提问来源于stack exchange,提问作者Fodder_H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 14:05:02