Solved

Is it possible in VB .Net to use XCOPY with VB variables

Posted on 2009-05-14
1
1,106 Views
Last Modified: 2013-11-10
I am just wondering how I would add Visual Basic variables (folder path) to a xcopy command in visual basic .net.  I have the code that I have attempted to use.  I have also commented out a few ideas that I tried, but didnt work.  I am trying to get around the issue of copying the documents folder in Vista.  Those legacy folders for "My Videos, My Pictures, etc" are casuing problems copying that folder.  Any suggestions would be helpful.

Thanks,
Joe
Dim local_users As String
                ' Here is where we loop through the selected items in the listbox.
 
                For Each local_users In lstUsers.SelectedItems
 
                    ' We need to formulate the full path again to test if it exists and to copy the file.
                    'If File.Exists("c:\users\" & theSelectedFile) Then
 
                    ' Here we do a simple file.copy call where we specify the file we want and then
                    ' specify the destination where we want to go. We let the user know each file that was
                    ' copied as well.
                    Dim objShell As Object
                    objShell = CreateObject("WScript.Shell")
                    Dim path1 As String
                    Dim path2 As String
                    path1 = ("C:\Users\" & local_users & "\Documents")
                    path2 = (FolderChoiceTextBox.Text & "\" & local_users & "\Documents")
 
                    My.Computer.FileSystem.CopyDirectory("c:\users\" & local_users & "\Desktop", FolderChoiceTextBox.Text & "\" & local_users & "\Desktop")
                    My.Computer.FileSystem.CopyDirectory("c:\users\" & local_users & "\Favorites", FolderChoiceTextBox.Text & "\" & local_users & "\Favorites")
                    My.Computer.FileSystem.CopyDirectory("c:\users\" & local_users & "\Music", FolderChoiceTextBox.Text & "\" & local_users & "\Music")
                    My.Computer.FileSystem.CopyDirectory("c:\users\" & local_users & "\Pictures", FolderChoiceTextBox.Text & "\" & local_users & "\Pictures")
                    'objShell.run("xcopy c:\users\" & theSelectedFile & "\Documents", FolderChoiceTextBox.Text & "\" & theSelectedFile & "\Documents")
                    Shell("xcopy" & path1, path2)
                    MessageBox.Show("Copied: " & local_users)

Open in new window

0
Comment
Question by:lehmaj1
1 Comment
 
LVL 16

Accepted Solution

by:
HooKooDooKu earned 500 total points
ID: 24389438
At a minimum, are you including a space between the word "xcopy" and path1, or is the resulting string looking like this:

 "xcopyc:\users...

Additionally, when working with a command line, if a file name has an embedded space, the file name needs to be encloded in quotation marks:

xcopy "File with embeded space" "To File with embeded space

My suggestion is to start with a command prompt (Start/Programs/Accessories/Command Promt) and attempt to get xcopy to work from there.  Once you have the exact text for the command working at a DOS prompt, replicate that command line EXACTLY in VB.  A big help might be to assign the command to a string and then call Shell with the string variable.  That way you can use the debugger and see EXACTLY what is getting sent to the Shell command.
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Displaying an arrayList in a listView using the default adapter is rarely the best solution. To get full control of your display data, and to be able to refresh it after editing, requires the use of a custom adapter.
This is about my first experience with programming Arduino.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question