Solved

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

Posted on 2009-05-14
1
1,051 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

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

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
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

743 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now