Solved

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

Posted on 2009-05-14
1
1,162 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

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.
A short article about problems I had with the new location API and permissions in Marshmallow
The viewer will learn how to dynamically set the form action using jQuery.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

752 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