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

File.Copy文件复制路径异常:为何自动拼接程序运行目录?

问题原因

你写的源路径@"FTPUSERS\hoz_tbr\from\"是相对路径,不是绝对路径。.NET程序默认会将当前工作目录(也就是程序运行所在的E:\GalWorkspace\workspace\SlikaNetCore\Dgamim\bin\Debug\net8.0\文件夹)作为相对路径的基准,所以自动拼接出了你看到的完整路径,而这个路径下并没有目标文件,因此报错。

解决办法

把源路径改成绝对路径即可,也就是加上盘符前缀,比如如果FTPUSERS文件夹在E:盘根目录下,就写成@"E:\FTPUSERS\hoz_tbr\from\"(替换成你实际的源文件所在盘符)。

修正后的代码示例:

private void SendFileToDestination()
{
    string file = "HATKANOT_BETIHOT_231230.txt";

    // 改为绝对路径,替换为实际的源文件盘符
    string sourceFilePath = Path.Combine(@"E:\FTPUSERS\hoz_tbr\from\", file);

    string destinationFilePath = Path.Combine(@"C:\ARCHIVE\dgamim\CompanyC\", file);

    // 可选:复制前先校验源文件是否存在,避免无意义报错
    if (File.Exists(sourceFilePath))
    {
        File.Copy(sourceFilePath, destinationFilePath);
    }
    else
    {
        // 可添加日志或提示,告知源文件不存在
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 01:07:04