2016-04-11 62 views
2

Görsel temelde bir programm üzerinde çalışıyorum; bu, birkaç şey yapan bir toplu iş dosyasını başlatacaktır. İhtiyacım olan şey, görsel temelden argümanımı toplu dosyama aktarmak.Dize toplu iş dosyasındaki Visual Basic'den dize kullanın

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 

Bu benim toplu dosya neye benzediğini parçasıdır::

xcopy %Usb% %ziel% /E /V /W /I /F /H /D /Y /EXCLUDE:C:\Users\info\Desktop\Exclude.txt 

Ben toplu argümanı Usb geçmesi gerekiyor Buraya

şimdiye kadar visual basic içinde ne var dosya. Biri bana yardım edebilir mi? Toplu iş dosyasında

cevap

3

, argümanlar % ve argüman sayısını girerek yakalanır. %1 ilk argüman olur, %2 ikincisi, vb.

Basitçe ilk argüman yakalamak için %1 için %Usb% değiştirin.

xcopy %1 %ziel% /E /V /W /I /F /H /D /Y /EXCLUDE:C:\Users\info\Desktop\Exclude.txt 
+0

Teşekkürler, bu çalıştı! – max07

+0

@ max07: Rica ederim. :) –

1

, %1 ile %Usb% yerine ve gitmek iyidir. Toplu dosyalarında