gpt4 book ai didi

filesystemwatcher - .Net FileSystemWatcher 重命名文件 oldName 为 null 时

转载 作者:行者123 更新时间:2023-12-02 22:01:59 25 4
gpt4 key购买 nike

我正在尝试跟踪文件系统的更改。因此我使用 FileSystemWatcher。不幸的是,Renamed 事件在 Windows 7 和 Windows 8 上不提供 oldName 信息。在 Windows XP 上它工作得很好。

这是我的程序:

using System;
using System.IO;

namespace Watcher2
{

class Program
{
static void Main(string[] args)
{

Console.WriteLine("Enter Folder Name:");
string folder = Console.ReadLine();
Console.WriteLine("Watching folder "+folder);

FileSystemWatcher watcher = new FileSystemWatcher(folder, "*.*");
watcher.EnableRaisingEvents = true;
watcher.IncludeSubdirectories = true;

watcher.Renamed += watcher_Renamed;

Console.ReadLine();

}

static void watcher_Renamed(object sender, RenamedEventArgs e)
{
Console.WriteLine(string.Format("OldName is {0} \nName is {1}\nOldFullPath is {2}\nFullPath is {3}", (e.OldName ?? "NULL"), e.Name, e.OldFullPath, e.FullPath));
}
}

RenamedEventArgs 不提供 OldName(e.OldName 为 NULL)。使用 Windows XP 是不行的:)

我在这里遗漏了什么吗?

最佳答案

我更新到了 Windows 8.1,现在我得到了预期的 OldName。

关于filesystemwatcher - .Net FileSystemWatcher 重命名文件 oldName 为 null 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22981974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com