У вас есть два простых варианта.
Если вы хотите сделать это в качестве учебного упражнения, загляните в классы System.IO.
System.IO.File.Move(source$, destination$) will suffice.
Вы можете улучшить это с помощью некоторой проверки ошибок, такой как
System.IO.Directory.Exists(sourcePath$)
System.IO.Directory.Exists(destPath$)
Затем вы можете поиграть с форматированием строк и обработкой ошибок, как вам угодно.
Если Все, что вы делаете , это копировать файл, и это все ваше программное обеспечение, я бы предложил вместо этого сделать это в CMD.
Этот же подход может быть вызван из VB при необходимости. Process.Start (флаги "ROBOCOPY" & amp; source $ & amp; "" & amp; destination $ & amp; "" & amp;)
Преимущество этого состоит в том, что это отдельный процесс для вашего основного кода, который означает, что вы можете оставить очень большой файл для копирования в течение длительного периода времени без зависания собственного кода.
''' <summary>
''' Copies the file at destination Source to the folder DestinationPath (and creates the folder if it doesn't exist)
''' </summary>
''' <param name="Source">Format C:\Users\username\documents\randomstuff\unnecessaryfolder\newfolder\myfile.txt</param>
''' <param name="DestinationPath">Format (and Default path) C:\Users\username\Desktop\ </param>
Public Sub MoveFile(Source As String, DestinationPath As String)
If DestinationPath = "" Then
DestinationPath = "C:\Users\" & My.User.Name & "\Desktop\" 'default path
End If
Dim FileName
Dim src() As String = Source.Split("\")
FileName = src(src.Count - 1) 'returns the name of the file in the full path
Try
If Not IO.File.Exists(Source) Then Throw New Exception("Wrong file, you plonka!")
If Not IO.Directory.Exists(DestinationPath) Then IO.Directory.CreateDirectory(DestinationPath)
IO.File.Copy(Source, DestinationPath & FileName)
Catch ex As Exception
Throw ex
End Try
End Sub
Обратите внимание, что это изменяется по состоянию на текущий день, чтобы быть встроенным со стандартами NHibernate, который является ленивой загрузкой, включен по умолчанию для всего.