Ich arbeite an einem Programm in Visual Basic, die eine Batch-Datei starten wird, die ein paar Dinge tut. Was ich brauche, ist ein Argument von Visual Basic an meine Batch-Datei übergeben. HierZeichenkette von Visual Basic in Batch-Datei verwenden
ist, was ich bisher in Visual Basic haben:
If M.Msg = WM_DEVICECHANGE Then
Select Case M.WParam
Case DBT_DEVICEARRIVAL
Dim DevType As Integer = Runtime.InteropServices.Marshal.ReadInt32(M.LParam, 4)
If DevType = DBT_DEVTYP_VOLUME Then
Dim Vol As New DEV_BROADCAST_VOLUME
Vol = Runtime.InteropServices.Marshal.PtrToStructure(M.LParam, GetType(DEV_BROADCAST_VOLUME))
If Vol.Dbcv_Flags = 0 Then
For i As Integer = 0 To 20
If Math.Pow(2, i) = Vol.Dbcv_Unitmask Then
Dim Usb As String = Chr(65 + i) + ":\"
MsgBox("New device found!" & vbNewLine & vbNewLine & "The drive letter is: " & Usb.ToString & vbNewLine & "Start backup?")
Dim DosRun As Process = New Process
Dim strArgs As String
strArgs = Usb.ToString
DosRun.StartInfo.WindowStyle = ProcessWindowStyle.Maximized
DosRun.StartInfo.FileName = "C:\Users\info\Desktop\Backup.bat"
DosRun.StartInfo.Arguments = Usb
DosRun.Start()
Exit For
End If
Next
End If
End If
Dies ist Teil dessen, was meine Batch-Datei wie folgt aussieht:
xcopy %Usb% %ziel% /E /V /W /I /F /H /D /Y /EXCLUDE:C:\Users\info\Desktop\Exclude.txt
Ich brauche das Argument USB an den Stapel passieren Datei. Kann mir jemand helfen?
Danke, das hat funktioniert! – max07
@ max07: Gern geschehen. :) –