我对编程很陌生,所以我提前道歉。
因此,我正在尝试创建一个 Win 应用程序,以使使用 Robocopy 复制文件更容易,并最终完成其他任务。到目前为止,基本上我所拥有的是一个调用 Sub Robcopy_EXE 的按钮。表单上有一个带有 100 个复选框的选项卡,每个终端一个,由用户指定,还有一个复选框用于确定您是否需要来自 Robocopy 的详细报告。我还有一个文本框供用户输入站点 IP 地址的前 3 个八位字节。复选框和输入字段用于创建字符串“Terminal_input”,这是在 CMD 中运行 Robocopy 的内容。Robocopy 将其进度记录到我标记为“Status.txt”的文本文件中。这就是我所得到的。
此时我需要知道当前正在运行的更新何时完成才能进入下一个终端。我正在尝试不断阅读“Status.txt”文件并寻找“ENDED”一词以进入下一个终端。如果“ENDED”一词不存在,我想将 LABEL3 更新为“更新终端”
最终,我希望有一种方法可以使复选框#成为一个变量,随着它通过每个复选框#而递增,但是在我弄清楚如何检查要完成的 1 个终端之后,我会弄乱它。
就像我说的那样,我是编程新手,解决这个问题我很开心,但我对这个过程感到非常困惑,我会以最糟糕的方式去做:D
先谢谢了。
Private Sub RoboCopy_EXE()
Dim Robocopystart = "Robocopy C:\wtg\update \\"
Dim Robocopymid = IP_Input.Text
Dim Robocopyend = ".42\c$\wtg /E /copy:datsou /r:3 /w:20 /log+:status.txt /tee /ns /nc /nfl /"
Dim Terminal_Input = Robocopystart + Robocopymid + Robocopyend
If CheckBox10.Checked Then
If RoboCopy_Detailed_Progress.Checked = True Then
Shell("CMD.exe", vbNormalFocus)
Threading.Thread.Sleep(400)
SendKeys.SendWait(Terminal_Input)
Label3.Text = items
Else : RoboCopy_Detailed_Progress.Checked = False
Shell("CMD.exe", vbNormalFocus)
Threading.Thread.Sleep(500)
SendKeys.Send("Test2")
End If
End If
End Sub