VB.NET创建并运行批处理文件问题

时间:2014-10-02 16:03:38

标签: vb.net batch-file visual-studio-2012 batch-processing

以下是我正在运行的代码,目前存在问题。

Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
    Dim path As String
    Dim sb As New System.Text.StringBuilder
    Dim sb1 As New System.Text.StringBuilder
    Dim Project As String = txtProject.Text
    Dim Building As String = txtBuilding.Text

    'Get the building and project number from some form of user input. They're predefined here:
    Building = "A1"
    Project = "10"

    If (folderDlg.ShowDialog() = DialogResult.OK) Then
        path = folderDlg.SelectedPath
        Dim root As Environment.SpecialFolder = folderDlg.RootFolder
    Else
        Return
    End If

    Me.Visible = False

    sb.AppendLine("")
    sb.AppendLine("_.``")
    sb.AppendLine(Building)
    sb.AppendLine(Project)
    sb.AppendLine("ZOOM")
    sb.AppendLine("e")
    sb.AppendLine("_.qsave")
    sb.AppendLine("_.quit")

    IO.File.WriteAllText(path & "\TB Edit.scr", sb.ToString())

    sb1.AppendLine("FOR %%D IN (*.DWG) DO " & Chr(34) & "C:\Program Files\Autodesk\Acade 2013\acad.exe" & Chr(34) & " %%D /B " & Chr(34) & path & "\TB Edit.scr" & Chr(34))
    sb1.AppendLine("Pause")
    sb1.AppendLine("END")

    IO.File.WriteAllText(path & "\TB Edit.bat", sb1.ToString())

    Process.Start(path & "\TB Edit.bat")

    My.Computer.FileSystem.DeleteFile(path & "\TB Edit.bat")
    My.Computer.FileSystem.DeleteFile(path & "\TB Edit.scr")

当批处理文件运行时,这就是我得到的...... '添加暂停以查看正在发生的事情 -

C:\Users\Owner\Dropbox\CADMASTER TECH  - SOUTH VALLEY\THOMAS\VB Programs\Title B
lock Edit\Title Block Edit\bin\Release>FOR %D IN (*.DWG) DO "C:\Program Files\Au
todesk\Acade 2013\acad.exe" %D /B "C:\Users\Owner\Desktop\TB Edit.scr"

C:\Users\Owner\Dropbox\CADMASTER TECH  - SOUTH VALLEY\THOMAS\VB Programs\Title B
lock Edit\Title Block Edit\bin\Release>Pause
Press any key to continue . . .

但是当我没有在程序结束时删除批处理文件,并转到它的位置并运行它时,它运行得很好,就像它应该的那样!

现在已经搞了两天了......任何想法?

1 个答案:

答案 0 :(得分:0)

  

并转到它的位置

有你的线索!好好看看你发布的输出。