2017-05-18 9 views
1

Excel 파일이 수동으로 로컬 폴더에 놓이면 파일을 새 파일 구조로 변환하고 다음 폴더로 이동시키는 FileWatcher가 있습니다. 파일 워처도 있습니다. 문제는이 파일을 다음 폴더로 이동하면 파일 워처가 이벤트를 발생시키지 않는다는 것입니다. 그러나 내가 그것을 자르고 물리적으로 그것을 떨어 뜨리면 이벤트가 시작됩니다. 내가C# File.Move를 사용할 때가 아니라 실제로 물리적으로 파일을 놓을 때 발생하는 FileSystemWatcher

+1

코드를 입력하십시오. –

+0

"새로운 파일 구조"란 무엇을 의미합니까? 아마 http://stackoverflow.com/questions/11468637/filesystemwatcher-not-raising-when-files-are-copied-or-moved-to-folder의 중복 – Renier

답변

2

당신이 움직임이있을 때 사실,은 FileSystemWatcher는 (소스 디렉토리 감시자에서) 삭제를 전송하고 만들 FileSystemWatcher detect when file is moved to folder

봐야한다 FOLDER2하는 폴더 1에서 파일을 복사 File.Move을 사용하고 (대상 디렉토리 감시자에서).

0

이름이 바뀐 이벤트를 사용해보십시오.

또 다른 이유는 버퍼 크기를 초과 할 수 있기 때문일 수 있습니다.

Public void WatchItBaby() 
{ 
    // ... 
    FileSystemWatcher watcher = new FileSystemWatcher(@"c:\temp\", "*.txt");    
    watcher.Created += new FileSystemEventHandler(OnChangedOrRenamed);   
    watcher.Renamed += new RenamedEventHandler(OnChangedOrRenamed); 
    watcher.EnableRaisingEvents = true; 
    // ... 
} 

private void OnChangedOrRenamed(object source, FileSystemEventArgs e) 
{ 
    // stuff   
}