我一直在試圖弄清楚現在每天的最佳狀態,而且我無法圍繞這個問題進行解決。如何在命令行中完成一次處理後打開新窗體
我沒有太多先前的代碼知識,但在嘗試編寫任何代碼之前,我試圖進行研究。我有VB.net是如何工作的,但需要一些幫助,我的代碼
Public Class Form1
Dim CopyFrom As String
Dim CopyTo As String
Dim RoboCopyVariables As String
Dim CopyS As String
Dim CopyE As String
Dim WaittimeTXT As String
Dim WaitTime As String
Dim RetryAttemptsTXT As String
Dim RetryAttempts As String
Dim pProcess() As Process = System.Diagnostics.Process.GetProcessesByName("CMD")
Private Sub RunBTN_Click(sender As Object, e As EventArgs) Handles RunBTN.Click
CopyFrom = CopyFromTXT.Text
CopyTo = CopyToTXT.Text
'All of the selections for if CopyS has been checked
If CopySFoldersCB.Checked = True Then
CopyS = " /s"
ElseIf CopySFoldersCB.Checked = False Then
CopyS = ""
End If
If CopyEFoldersCB.Checked = True Then
CopyE = " /e"
ElseIf CopyEFoldersCB.Checked = False Then
CopyE = ""
End If
If WaitTimeCB.Checked = True Then
WaittimeTXT = WaitTimeTXT1.Text
WaitTime = " /w:" & WaittimeTXT
ElseIf WaitTimeCB.Checked = False Then
WaitTime = ""
End If
If RetryAttemptsCB.Checked = True Then
RetryAttemptsTXT = RetryAttempts1.Text
RetryAttempts = " /r:" & RetryAttemptsTXT
ElseIf RetryAttemptsCB.Checked = False Then
RetryAttempts = ""
End If
RoboCopyVariables = CopyS + CopyE + WaitTime + RetryAttempts
'CommandTest.Text = "/k robocopy " + CopyFrom + " " + CopyTo + "" + RoboCopyVariables
Process.Start("CMD", "/k robocopy " + CopyFrom + " " + CopyTo + "" + RoboCopyVariables)
For Each p As Process In pProcess
p.Kill()
Next
Form2.Show()
Me.Hide()
End Sub
Private Sub CancelButton_Click(sender As Object, e As EventArgs) Handles CancelButton.Click
Me.Close()
Form2.Close
End Sub
End Class
謝謝所有幫助我收到
當您使用/ k選項時,無法找到它是完整的。改用/ c。或者直接運行它而不使用cmd.exe。使用Process.Exited事件來檢測完成,使用Process.SynchronizingObject屬性讓它在UI線程上運行。 *不*殺死所有cmd.exe進程,你不知道你是否啓動它們。 –