�@

.NET TIPS

�t�@�C����f�B���N�g���̍쐬�^�ύX�^�폜���Ď�����ɂ́H

�f�W�^���A�h�o���e�[�W�@���� �F�M
2005/03/25

�@.NET Framework�̃N���X�E���C�u�����ɂ́A�t�@�C����f�B���N�g���̍쐬�^�ύX�^�폜���Ď����邽�߂�FileSystemWatcher�N���X�iSystem.IO���O��ԁj���p�ӂ���Ă���i������Windows 98�^Me�ł͗��p�ł��Ȃ��j�B����𗘗p����ƁA����̃f�B���N�g���Ƀt�@�C�����쐬���ꂽ�A����̃t�@�C�����C�����ꂽ�A�Ƃ������^�C�~���O�ŁA�����̃t�@�C���ɑ΂��ĉ��炩�̏������s���悤�ȃA�v���P�[�V������e�Ղɍ쐬���邱�Ƃ��ł���B

�@FileSystemWatcher�N���X�̗��p���@�͊ȒP�ŁA�܂����̃C���X�^���X���쐬���A�ȉ��̕\�Ɏ����悤�Ȋe�v���p�e�B��ݒ肷��B

�v���p�e�B ���� �f�t�H���g�l
Path �Ď�����f�B���N�g���̃p�X �Ȃ�
IncludeSubdirectories �T�u�f�B���N�g�����Ď����邩�ǂ����������t���O false
Filter ������t�@�C�� �u*.*�v
NotifyFilter �Ď�����ύX�̎��
�iNotifyFilters�񋓑̂̒l�j
NotifyFilters.LastWrite
| NotifyFilters.DirectoryName
| NotifyFilters.FileName
�i3�‚̒l�̘_���a�j
EnableRaisingEvents �Ď���L���ɂ��邩�ǂ����������t���O false
InternalBufferSize �󂯎�����ʒm���i�[��������o�b�t�@�̃T�C�Y 8192Bytes�i8KBytes�j
FileSystemWatcher�N���X�̎�v�ȃv���p�e�B

�@Filter�v���p�e�B�ł́A�Ď��ΏۂƂȂ����̃t�@�C�����w�肷�邱�Ƃ��ł��邪�A�u*.txt�v��u*.jpg�v�Ƃ���������̎�ނ̃t�@�C�����w��”\���B

�@EnableRaisingEvents�v���p�e�B��true�ɐݒ肷��ƊĎ��������J�n�����B�Ď����s�v�ȏꍇ�ɂ́A�ꎞ�I�ɂ��̃v���p�e�B��false�ɐݒ肷��΂悢�B

�@NotifyFilter�v���p�e�B�ł́A�Ď�����f�B���N�g����t�@�C���̕ύX�̎�ނ��ANotifyFilters�񋓑́iSystem.IO���O��ԁj�̒l�̑g�ݍ��킹�i�_���a�FC#�ł́u|���Z�q�v�AVB.NET�ł�Or���Z�q���g�p����j�ɂ��w�肷��B

�@�ȉ��ɁANotifyFilters�񋓑̂Œ�`����Ă���l�̈ꗗ�������B

�l ����
Attributes �t�@�C���܂��̓t�H���_�̑���
CreationTime �t�@�C���܂��̓t�H���_���쐬���ꂽ����
DirectoryName �f�B���N�g���̖��O
FileName �t�@�C���̖��O
LastAccess �t�@�C���܂��̓t�H���_�ւ̍ŏI�A�N�Z�X����
LastWrite �t�@�C���܂��̓t�H���_�ւ̍ŏI�������ݓ���
Security �t�@�C���܂��̓t�H���_�̃Z�L�����e�B�ݒ�
Size �t�@�C���܂��̓t�H���_�̃T�C�Y
NotifyFilters�񋓑̂Œ�`����Ă���l�̈ꗗ

�@NotifyFilter�v���p�e�B�Ŏw�肵�����ڂ��ω�����Ƃ��ɂ́A�ȉ��̃C�x���g����������悤�ɂȂ��Ă���B���̂��߁A�ʒm���󂯂����C�x���g�Ɋւ��ẮA�C���X�^���X�쐬���Ɋe�C�x���g�ɑ΂��Ēʒm���󂯎�郁�\�b�h��o�^���Ă����B

�C�x���g �C�x���g�̔�������^�C�~���O
OnCreated �t�@�C���܂��̓f�B���N�g�����쐬���ꂽ�Ƃ�
OnDeleted �t�@�C���܂��̓f�B���N�g�����폜���ꂽ�Ƃ�
OnRenamed �t�@�C���܂��̓f�B���N�g���̖��O���ύX���ꂽ�Ƃ�
OnChanged �ȉ��̂����ꂩ���ύX���ꂽ�Ƃ�
�E�T�C�Y
�E����
�E�ŏI�������ݓ���
�E�ŏI�A�N�Z�X����
�E�Z�L�����e�B�ݒ�
OnError �����o�b�t�@���I�[�o�[�t���[�����i���ӂꂽ�j�Ƃ�
FileSystemWatcher�N���X�Ŕ�������C�x���g

�@���ɁAFileSystemWatcher�N���X�𗘗p�����ȒP�ȃT���v���E�v���O�����������B

FileSystemWatcher�N���X�𗘗p�����T���v���E�v���O����

�@���̃T���v���E�v���O�����ł́AC�h���C�u�z���̂��ׂẴf�B���N�g���ɑ΂���.TXT�t�@�C���̍쐬�ƍ폜���Ď����A����炪���������ꍇ�ɂ́A���̃C�x���g�̎�ނƃt�@�C���̃t���p�X��\������B

// filewatch.cs

using System;
using System.IO;

public class FileWatcher {
  static void Main() {

    FileSystemWatcher watcher = new FileSystemWatcher();

    watcher.Path = @"c:\";
    watcher.Filter = "*.txt";
    watcher.IncludeSubdirectories = true;
    watcher.NotifyFilter = NotifyFilters.FileName;
    watcher.Created += new FileSystemEventHandler(DoWork);
    watcher.Deleted += new FileSystemEventHandler(DoWork);
    watcher.EnableRaisingEvents = true;

    Console.Read(); // �L�[���͂�����܂ő҂�
  }

  static void DoWork(object source, FileSystemEventArgs e) {
    Console.WriteLine(e.ChangeType.ToString());
    Console.WriteLine(e.FullPath);
  }
}

// �R���p�C�����@�Fcsc filewatch.cs
�e�L�X�g�E�t�@�C���̍쐬�^�폜���Ď�����C#�̃T���v���E�v���O�����ifilewatch.cs�j
�@
' filewatch.vb

Imports System
Imports System.IO

Public Class FileWatcher
  Shared Sub Main()
    Dim watcher As FileSystemWatcher = new FileSystemWatcher()

    watcher.Path = "c:\"
    watcher.Filter = "*.txt"
    watcher.IncludeSubdirectories = true
    watcher.NotifyFilter = NotifyFilters.FileName
    AddHandler watcher.Created, AddressOf DoWork
    AddHandler watcher.Deleted, AddressOf DoWork
    watcher.EnableRaisingEvents = true

    Console.Read() ' �L�[���͂�����܂ő҂�
  End Sub

  Shared Sub DoWork(source As object, e As FileSystemEventArgs)
    Console.WriteLine(e.ChangeType.ToString())
    Console.WriteLine(e.FullPath)
  End Sub
End Class

' �R���p�C�����@�Fvbc /r:System.dll filewatch.vb
�e�L�X�g�E�t�@�C���̍쐬�^�폜���Ď�����VB.NET�̃T���v���E�v���O�����ifilewatch.vb�j

�@�C�x���g����������DoWork���\�b�h�ł́A���\�b�h�̑�2�p�����[�^�ł���FileSystemEventArgs�N���X�iSystem.IO���O��ԁj�̃I�u�W�F�N�g����A���������C�x���g�̎�ށiChangeType�v���p�e�B�j��A�t�@�C���̃t���p�X�iFullPath�v���p�e�B�j�Ȃǂ��擾�”\���B

�@���̃v���O���������s�����܂܁A�Ⴆ�΃G�N�X�v���[����ŁA�uC:\�]�����v�f�B���N�g���ɂ���umywork.txt�v�Ƃ����t�@�C�����uC:\�]����v�f�B���N�g���Ɉړ������ꍇ�ɂ́A�ȉ��̂悤�ȏo�͂�������B

Deleted
c:\�]����\mywork.txt
Created
c:\�]����\mywork.txt

�@����Ɉړ������t�@�C�����폜�����ꍇ�ɂ́A�o�͈͂ȉ��̂悤�ɂȂ�B����̓t�@�C�����u���ݔ��v�Ɉړ����ꂽ���Ƃ������Ă���B

Deleted
c:\�]����\mywork.txt
Created
c:\recycler\s-1-5-21-911560763-1030517763-475923621-2261\dc4.txt

FileSystemWatcher�N���X�̒��ӓ_

�@���t�@�����X�E�}�j���A���ɂ�����悤�ɁA�t�@�C���쐬�Ȃǂ̒P���Ǝv���鑀��Ɋւ��Ă��A�����̃C�x���g����������ꍇ������B����́A�Ď��ΏۂƂȂ�t�@�C�����쐬�A�ύX����O���̃A�v���P�[�V�����̓�������ɂ��Ƃ�����傫���B�A�v���P�[�V�����ɂ���ẮA�Ⴆ�΃t�@�C���̍쐬���ɉ��x�����̃t�@�C���ɃA�N�Z�X������i�ŏI�A�N�Z�X���������x���ω�����j�A�ꎞ�t�@�C�������l�[�����邱�Ƃɂ��ŏI�I�ȏo�̓t�@�C�����쐬�����肷��ꍇ�����邽�߂��B

�@���A�v���P�[�V������FileSystemWatcher�N���X�𗘗p����ꍇ�ɂ́A��������C�x���g���܂����ۂɊm�F���A�K�v��NotifyFilter�v���p�e�B�ƃC�x���g�̎�ނ��悭�ᖡ����K�v�����邾�낤�BEnd of Article

�J�e�S���F�N���X�E���C�u�����@�����ΏہF�f�B���N�g�����t�@�C��
�g�p���C�u�����FFileSystemWatcher�N���X�iSystem.IO���O��ԁj
�g�p���C�u�����FNotifyFilters�񋓑́iSystem.IO���O��ԁj
�g�p���C�u�����FFileSystemEventHandler�f���Q�[�g�iSystem.IO���O��ԁj
�@
���̋L���Ɗ֘A���̍����ʂ�.NET TIPS
�Ď��ɂ��쐬�^�ύX���ʒm���ꂽ�t�@�C�����J���ɂ́H
Windows�A�v���P�[�V�����Ńt�@�C����f�B���N�g�����Ď�����ɂ́H
�mASP.NET�n�y�[�W���琶�����ꂽ�\�[�X�E�R�[�h������ɂ́H
�t�@�C�����R�s�[�^�폜�^���l�[���^�ړ�����ɂ́H
�t�@�C����f�B���N�g���̈ꗗ���擾����ɂ́H
���̃��X�g�́A�i���j�f�W�^���A�h�o���e�[�W���J������
�����֘A�L���T���V�X�e�� Jigsaw�i�W�O�\�[�j �ɂ�莩�����o�������̂ł��B
generated by

�u.NET TIPS�v


Insider.NET �t�H�[���� �V���L��
  • ��2��@�Ȍ��ȃR�[�f�B���O�̂��߂� �i2017/7/26�j
    �@�����_���ŋL�q�ł��郁���o�̑����Athrow���Aout�ϐ��A�^�v���ȂǁAC# 7�ɂ͈ȑO�����R�[�h���Ȍ��ɋL�q�ł���悤�ȋ@�\����������Ă���
  • ��1��@Visual Studio Code�f�o�b�O�̊�b�m�� �i2017/7/21�j
    �@Node.js�v���O�������f�o�b�O���Ȃ���AVisual Studio Code�ɓ�������Ă���f�o�b�O�@�\�̊�{�́u�L�v���}�X�^�[���悤
  • ��1��@���ĂȃR�[�f�B���O�̂��߂� �i2017/7/19�j
    �@C# 7�Œlj����ꂽ�V�@�\�̒�����A�u���l���e�����\���̉��P�v�Ɓu���[�J���֐��v���Љ��B�����͕�����₷���R�[�h���L�q����̂Ɏg����
  • Presentation Translator �i2017/7/18�j
    �@Presentation Translator��PowerPoint�p�̃A�h�C���B�v���[���e�[�V�������̎����̕t����A������ł̎��^�����A�X���C�h�̖|����s����
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j

���ڂ̃e�[�}

Insider.NET �L�������L���O

�{�� ����