PC Review


Reply
Thread Tools Rate Thread

Copy a folder/Directory

 
 
=?Utf-8?B?QnJhZA==?=
Guest
Posts: n/a
 
      21st Feb 2004
I have been working on a class that moves files around and have come to a need to move an entire directory at one time. I thought that this would be really simple (some kind of CopyDirectory command) but no such luck. How can you move a Folder/Directory in vb.net

Thank
Brad
 
Reply With Quote
 
 
 
 
Armin Zingler
Guest
Posts: n/a
 
      21st Feb 2004
"Brad" <(E-Mail Removed)> schrieb
> I have been working on a class that moves files around and have come
> to a need to move an entire directory at one time. I thought that
> this would be really simple (some kind of CopyDirectory command) but
> no such luck. How can you move a Folder/Directory in vb.net?


Copy each file. Use System.IO.Directory.GetFiles or
System.IO.DirectoryInfo.GetFiles to get the files/file names.


--
Armin

How to quote and why:
http://www.plig.net/nnq/nquote.html
http://www.netmeister.org/news/learn2quote.html

 
Reply With Quote
 
Ken Tucker [MVP]
Guest
Posts: n/a
 
      21st Feb 2004
Hi,

The directoryinfo class has a moveto method to move a directory but
there is no function to copy a directory.

Ken
--------------------
"Brad" <(E-Mail Removed)> wrote in message
news:E6B37292-07D1-4ADE-A9D6-(E-Mail Removed)...
> I have been working on a class that moves files around and have come to a

need to move an entire directory at one time. I thought that this would be
really simple (some kind of CopyDirectory command) but no such luck. How can
you move a Folder/Directory in vb.net?
>
> Thanks
> Brad



 
Reply With Quote
 
Herfried K. Wagner [MVP]
Guest
Posts: n/a
 
      21st Feb 2004
* "=?Utf-8?B?QnJhZA==?=" <(E-Mail Removed)> scripsit:
> I have been working on a class that moves files around and have come
> to a need to move an entire directory at one time. I thought that this
> would be really simple (some kind of CopyDirectory command) but no such
> luck. How can you move a Folder/Directory in vb.net?


Move:
'System.IO.Directory.Move'.

Copy:
P/invoke on 'SHFileOperation':
<http://www.palmbytes.de/content/dotnetmisc/dl/shellfileoperation.zip>.

--
Herfried K. Wagner [MVP]
<http://www.mvps.org/dotnet>
 
Reply With Quote
 
Bernie Yaeger
Guest
Posts: n/a
 
      22nd Feb 2004
Hi Brad,

Of course this can be done.

It's not too easy, because you have to run a recursive routine to get all
the subs and the files they contain.

I wrote several routines in an effort to use this concept to save .net
solutions in order to provide backup copies, which I now use all the time.

I won't bore you with all the details; instead, below is the code that
makes it happen, which I'm sure you'll be able to follow along and work
with:

Imports System.IO

Public Class Form1

Inherits System.Windows.Forms.Form

Public selectedsubs As New ArrayList()

Public subs2 As New ArrayList()



Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Dim dirinfo As New DirectoryInfo("c:\vsapps\")

For Each dirinfo In dirinfo.GetDirectories()

solutionsbox.Items.Add(dirinfo.Name)

Next

End Sub

Private Sub saveit_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles saveit.Click

Dim dirsys As Directory

Dim copytopath As String

Dim dirfullpath As String

Dim solselectionsarray As String

Dim mdirectory As DirectoryInfo

Dim mfile As FileInfo

Dim dfile As File()

Dim destinationfile As String

Dim solutionsboxfp As New ArrayList()

Dim shortstring, stringfront As String

Dim i, j, startpos As Integer

Me.Cursor = Cursors.WaitCursor

For Each solselectionsarray In solutionsbox.CheckedItems

selectedsubs.Add("c:\vsapps\" & solselectionsarray)

Next

subs2.Clear()

For i = 0 To selectedsubs.Count - 1

mdirectory = New DirectoryInfo(selectedsubs(i))

listdirectories(mdirectory)

Next

For j = 0 To subs2.Count - 1

mdirectory = New DirectoryInfo(subs2(j))

startpos = InStrRev(mdirectory.FullName, "\")

shortstring = Mid(mdirectory.FullName, startpos + 1)

stringfront = Mid(mdirectory.FullName, 11)

If dirsys.Exists("c:\dotnetsource\" & stringfront) Then

Else

dirsys.CreateDirectory("c:\dotnetsource\" & stringfront)

End If

For Each mfile In mdirectory.GetFiles

destinationfile = "c:\dotnetsource\" & stringfront & "\" & mfile.Name

File.Copy(mfile.FullName, destinationfile, True)

Next

Next

Me.Cursor = Cursors.Default

Application.Exit()



End Sub

Sub listdirectories(ByVal thedirectory As DirectoryInfo)

Dim tempdir As DirectoryInfo

subs2.Add(thedirectory.FullName)

For Each tempdir In thedirectory.GetDirectories()

listdirectories(tempdir)

Next

End Sub

End Class



HTH,

Bernie Yaeger


"Brad" <(E-Mail Removed)> wrote in message
news:E6B37292-07D1-4ADE-A9D6-(E-Mail Removed)...
> I have been working on a class that moves files around and have come to a

need to move an entire directory at one time. I thought that this would be
really simple (some kind of CopyDirectory command) but no such luck. How can
you move a Folder/Directory in vb.net?
>
> Thanks
> Brad



 
Reply With Quote
 
=?Utf-8?B?YWRoaWs=?=
Guest
Posts: n/a
 
      30th Mar 2004
Hi

I am facing bit different problem. I am using move method of Directory Class to rename folder to new name
But it is doing some nasty thing i.e. why and how it is removing current session (current session expires) after execution of Move Command

This is small but huge problem to me as my whole application works on session, and user need login again once this code executes

What could be the problem and how can get rid of this

Thanks in advanc
Adhik
 
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
Help to copy files names in a column from one directory to another directory VBA Paul B Microsoft Excel Programming 4 10th Nov 2008 01:54 AM
Would like to write batch file to copy all TXT files in a given directory and all subdirectories to a single target directory. Rob Windows XP General 5 20th Aug 2007 02:42 PM
how to copy public folder contacts to an exchange mailbox of an active directory user uriel Microsoft Outlook Contacts 1 17th Feb 2005 01:13 PM
how to copy public folder contacts to an exchange mailbox of an active directory user uriel Microsoft Outlook VBA Programming 0 7th Feb 2005 09:23 AM
how to copy public folder contacts to an exchange mailbox of an active directory user uriel Microsoft Outlook 0 7th Feb 2005 09:22 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 08:29 AM.