如何修复 ftp 服务器文件夹和文件名错误?

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

我有一个用 C# 编写的简单 ftp 服务器。但我在创建文件夹和文件名时遇到问题。如果文件夹或文件的创建日期大于 180 天,则文件夹或文件名创建正确。

示例:

test4591(要创建的名称)-> 12 月 7 日 22:46 test4591(创建的名称)

这是我的代码

            IEnumerable<string> directories = Directory.EnumerateDirectories(pathname);

            foreach (string dir in directories)
            {
                DateTime editDate = Directory.GetLastWriteTime(dir);

                string date = editDate < now.Subtract(TimeSpan.FromDays(180)) ?
                    editDate.ToString("MMM dd  yyyy", CultureInfo.InvariantCulture) :
                    editDate.ToString("MMM dd HH:mm", CultureInfo.InvariantCulture);

                dataWriter.Write("drwxr-xr-x    2 2003     2003         4096 ");
                dataWriter.Write(date);
                dataWriter.Write(' ');
                dataWriter.WriteLine(Path.GetFileName(dir));

                dataWriter.Flush();
            }
c# ftp-server
1个回答
0
投票

您可以使用此示例来了解我如何在文件夹上设置日期。希望它是你在寻找什么。 附:您不需要转换为字符串。下次请更清楚地说明你想要实现什么目标。 (文件夹或文件名已正确创建 - 您的意思是正确的吗?)

void Main()
{
    DateTime editDate = Directory.GetLastWriteTime("C:\\1");

    var setTime = DateTime.Now;
    if (DateTime.Now.Subtract(editDate).Days >= 180)
    {
        Directory.SetLastWriteTime("c:\\1", setTime);
    }
    else
    {
        Directory.SetLastWriteTime("c:\\1", DateTime.Now.AddDays(-10));
    }
    
    Console.WriteLine(Directory.GetLastWriteTime("c:\\1"));
}

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