2012-09-17 1 views
0

vb.net에서 Robocopy를 사용하여 디렉토리 내의 모든 내용과 내용을 지정된 디렉토리에 복사해야하는 응용 프로그램을 개발 중입니다. 끌어서 놓기와 달리 이동 한 파일과 폴더의 수정 된 날짜와 기타 속성을 유지하므로 Robocopy를 사용해야합니다. 다음 코드를 사용하여 시작하지만 오류가 발생합니다.vb.net 응용 프로그램에서 Robocopy 사용 Win32 오류

Win32 ExceptionUnhandled, 지정한 파일을 찾을 수 없습니다.

내 연구를 수행했으며 이것이 Robocopy를 호출하는 가장 효율적인 방법 인 것으로 보입니다. 어떤 도움이 대단히 감사하겠습니다.

Imports System 
Imports System.IO 
Imports System.Diagnostics 
Imports System.Threading 
Imports System.Windows.Forms 


Public Class Form1 

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

    End Sub 

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click 
     Dim srcFold As String = TextBox1.Text 
     Dim destFold As String = TextBox2.Text 

     'Dim oProcess As New ProcessStartInfo 
     'oProcess.FileName = "C:\windows\SysWow64\robocopy.exe" 
     'oProcess.Arguments = "C:\upsdnc\11111\" & "C:\ups\11111_dnc" & "/E /Z /dcopy:T /fft /R:10 /ETA /log:C:\copy.log /tee" 

     System.Diagnostics.Process.Start("C:\Windows\SysWow64\Robocopy.exe C:\upsdnc\11111 C:\ups\11111_dnc /E /Z /dcopy:T /fft /R:10 /ETA /log:C:\copy.log /tee") 


    End Sub 

여러분도 알다시피 ProcessStartInfo를 사용하려고 시도했지만 Process.Start가 훨씬 간단하다고 들었습니다.

또한,있는 Robocopy를 사용하는, 형식은

+0

경로를 반드시 인용하십시오. – Deanna

답변

0

C:\ 예를 들어,의 하위 폴더에있는 로그 파일을 사용해보십시오 위의 코드에서 볼 수있는 옵션 다음에 "소스 폴더", "대상 폴더는" C:\log\copy.log

요즘에는 일반적으로 C:\ 루트 디렉토리에 쓸 수 없습니다.