【问题标题】:creating a loop that modifies directory dates [closed]创建一个修改目录日期的循环[关闭]
【发布时间】:2018-03-18 16:48:17
【问题描述】:

我正在尝试设置一个循环来修改@"C:\testFolder" 中所有目录的日期。到目前为止,我的代码粘贴在下面,感谢您的帮助。

 static void Main()
{
    string n = @"C:\testFolder";
    DateTime dtime1 = new DateTime(2015, 1, 3);

    if (Directory.Exists(n))
        Directory.SetCreationTime(n, dtime1);
        Directory.SetLastWriteTime(n, dtime1);

        Console.WriteLine("Done");

}

【问题讨论】:

  • 问题会是......
  • 当我尝试更改“测试文件夹”内所有目录的日期时,它似乎正在尝试更改“测试文件夹”的时间戳。程序崩溃,我得到一个“IOException washandled - The process cannot access the file c:\testFolder because it is being used by another process. @SamAxe

标签: c# loops recursion


【解决方案1】:

不带大括号的if 语句仅适用于紧随其后的语句。确保用大括号包围整个街区。

此外,您可以使用Directory.GetAllDirectories(..)SearchOption 来指定您希望testFolder 下的所有目录递归。下面显示了这一点,但如果您需要,也可以使用 SearchOption.TopDirectoryOnly

static void Main()
{
    string n = @"C:\testFolder";
    DateTime dtime1 = new DateTime(2015, 1, 3);

    if (Directory.Exists(n)) {
        string[] allSubDirectories = Directory.GetDirectories(n, "*", SearchOption.AllDirectories);
        foreach(var dir in allSubDirectories) {
            Directory.SetCreationTime(n, dtime1);
            Directory.SetLastWriteTime(n, dtime1);
        }
    }

    Console.WriteLine("Done");
}

【讨论】:

    【解决方案2】:

    如果您想为该目录中的所有目录设置日期,您可以这样做:

     static void Main()
    {
        string n = @"C:\testFolder";
        DateTime dtime1 = new DateTime(2015, 1, 3);
    
        if (Directory.Exists(n))
        {
             Directory.SetCreationTime(n, dtime1);
             Directory.SetLastWriteTime(n, dtime1);
             var directories = Directory.GetDirectories(n);
    
             foreach(directory in directories)
             {
                  Directory.SetCreationTime(directory , dtime1);
                  Directory.SetLastWriteTime(directory , dtime1);
             }
    
        }
        Console.WriteLine("Done");
    
    }
    

    【讨论】:

      猜你喜欢
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 2015-08-20
      • 2013-02-18
      • 2019-05-03
      • 2020-11-26
      • 2018-06-11
      相关资源
      最近更新 更多