PC Review


Reply
Thread Tools Rate Thread

I am storing some select files and folders path in my database.

 
 
mustafa.mustafa77@gmail.com
Guest
Posts: n/a
 
      27th Feb 2009
How can we get the path of a file or folder when we move or copy and
paste files or folders from one directory / folder to another?

Is there any "event" in Windows which identifies the new path of the
pasted files or folder which can be picked up by an application in C#
Winform 2.0.

Problem discription:
I am storing some select files and folders path in my database.
Problem is if files or folders are moved from outside of my
application then path is not updating in my database.

I need to update the path (including network path) in my database if
files or folder moved from outside of my application.

Thank you.
 
Reply With Quote
 
 
 
 
Jibesh
Guest
Posts: n/a
 
      27th Feb 2009
Hello Mustafa,

In .Net 2.0 we have a special delegate to monitor the changes made to the
file.
i.e FileSystemWatcher.

Go through the following sample from MSDN

public class Watcher
{

public static void Main()
{
Run();

}

[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
public static void Run()
{
string[] args = System.Environment.GetCommandLineArgs();

// If a directory is not specified, exit program.
if(args.Length != 2)
{
// Display the proper way to call the program.
Console.WriteLine("Usage: Watcher.exe (directory)");
return;
}

// Create a new FileSystemWatcher and set its properties.
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = args[1];
/* Watch for changes in LastAccess and LastWrite times, and
the renaming of files or directories. */
watcher.NotifyFilter = NotifyFilters.LastAccess |
NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
// Only watch text files.
watcher.Filter = "*.txt";

// Add event handlers.
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.Deleted += new FileSystemEventHandler(OnChanged);
watcher.Renamed += new RenamedEventHandler(OnRenamed);

// Begin watching.
watcher.EnableRaisingEvents = true;

// Wait for the user to quit the program.
Console.WriteLine("Press \'q\' to quit the sample.");
while(Console.Read()!='q');
}

// Define the event handlers.
private static void OnChanged(object source, FileSystemEventArgs e)
{
// Specify what is done when a file is changed, created, or deleted.
Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
// Specify what is done when a file is renamed.
Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath,
e.FullPath);
}
}

Hope this helps much..

Thanks
Jibesh


<(E-Mail Removed)> wrote in message
news:6ba58e52-20cd-4c8c-9cee-(E-Mail Removed)...
> How can we get the path of a file or folder when we move or copy and
> paste files or folders from one directory / folder to another?
>
> Is there any "event" in Windows which identifies the new path of the
> pasted files or folder which can be picked up by an application in C#
> Winform 2.0.
>
> Problem discription:
> I am storing some select files and folders path in my database.
> Problem is if files or folders are moved from outside of my
> application then path is not updating in my database.
>
> I need to update the path (including network path) in my database if
> files or folder moved from outside of my application.
>
> Thank you.



 
Reply With Quote
 
mustafa.mustafa77@gmail.com
Guest
Posts: n/a
 
      3rd Mar 2009
Hi Jibesh

thanks for your reply.

I have tried with FilesystemWatcher. but there is problem.
1) Filesystemwatcher has only 4 events watcher.Changed,
watcher.Created, watcher.Deleted, watcher.Renamed
there is no file moved event.

2) In FileSystemWatcher we have to specify Folder root path, for
example watcher.Path="C:\\";.
but in my case user can paste anywere in the Network, or some other
drive.

Is there any way with shell programming in C# 2.0

Regards
Mustafa



On Feb 27, 11:54*pm, "Jibesh" <jibesh...@gmail.com> wrote:
> Hello Mustafa,
>
> In .Net 2.0 we have a special delegate to monitor the changes made to the
> file.
> i.e FileSystemWatcher.
>
> Go through the following sample from MSDN
>
> public class Watcher
> {
>
> * * public static void Main()
> * * {
> * * * * Run();
>
> * * }
>
> * * [PermissionSet(SecurityAction.Demand, Name="FullTrust")]
> * * public static void Run()
> * * {
> * * * * string[] args = System.Environment.GetCommandLineArgs();
>
> * * * * // If a directory is not specified, exit program.
> * * * * if(args.Length != 2)
> * * * * {
> * * * * * * // Display the proper way to call the program.
> * * * * * * Console.WriteLine("Usage: Watcher.exe (directory)");
> * * * * * * return;
> * * * * }
>
> * * * * // Create a new FileSystemWatcher and set its properties.
> * * * * FileSystemWatcher watcher = new FileSystemWatcher();
> * * * * watcher.Path = args[1];
> * * * * /* Watch for changes in LastAccess and LastWrite times, and
> * * * * * *the renaming of files or directories. */
> * * * * watcher.NotifyFilter = NotifyFilters.LastAccess |
> NotifyFilters.LastWrite
> * * * * * *| NotifyFilters.FileName | NotifyFilters.DirectoryName;
> * * * * // Only watch text files.
> * * * * watcher.Filter = "*.txt";
>
> * * * * // Add event handlers.
> * * * * watcher.Changed += new FileSystemEventHandler(OnChanged);
> * * * * watcher.Created += new FileSystemEventHandler(OnChanged);
> * * * * watcher.Deleted += new FileSystemEventHandler(OnChanged);
> * * * * watcher.Renamed += new RenamedEventHandler(OnRenamed);
>
> * * * * // Begin watching.
> * * * * watcher.EnableRaisingEvents = true;
>
> * * * * // Wait for the user to quit the program.
> * * * * Console.WriteLine("Press \'q\' to quit the sample.");
> * * * * while(Console.Read()!='q');
> * * }
>
> * * // Define the event handlers.
> * * private static void OnChanged(object source, FileSystemEventArgs e)
> * * {
> * * * * // Specify what is done when a file is changed, created, or deleted.
> * * * *Console.WriteLine("File: " + *e.FullPath + " " + e.ChangeType);
> * * }
>
> * * private static void OnRenamed(object source, RenamedEventArgs e)
> * * {
> * * * * // Specify what is done when a file is renamed.
> * * * * Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath,
> e.FullPath);
> * * }
>
> }
>
> Hope this helps much..
>
> Thanks
> Jibesh
>
> <mustafa.mustaf...@gmail.com> wrote in message
>
> news:6ba58e52-20cd-4c8c-9cee-(E-Mail Removed)...
>
>
>
> > How can we get the path of a file or folder when we move or copy and
> > paste files or folders from one directory / *folder to another?

>
> > Is there any "event" in Windows which identifies the new path of the
> > pasted files or folder which can be picked up by an application in C#
> > Winform 2.0.

>
> > Problem discription:
> > I am storing some select files and folders path in my database.
> > Problem is if files or folders are moved from outside of my
> > application then path is not updating in my database.

>
> > I need to update the path (including network path) in my database if
> > files or folder moved from outside of my application.

>
> > Thank you.- Hide quoted text -

>
> - Show quoted text -


 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
I am storing some select files and folders path in my database. mustafa.mustafa77@gmail.com Microsoft Access Form Coding 1 26th Feb 2009 02:44 PM
User Images: Storing in Files VS Storing in Database Jonathan Wood Microsoft ASP .NET 1 2nd Jun 2008 06:56 PM
storing path only to database leen Microsoft Access Form Coding 6 29th Sep 2006 12:27 PM
storing path only to database...please help me... leen Microsoft Access External Data 2 25th Sep 2006 09:59 AM
storing path only to database az Microsoft Access VBA Modules 1 19th Sep 2006 07:08 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 07:46 AM.