2014-10-02 60 views
0

以下是我正在运行的代码,目前遇到问题。VB.NET创建并运行批处理文件问题

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 . . . 

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

现在搞了两天左右......有什么想法吗?

+0

顺便说一句,'Dim root As Environment.SpecialFolder = folderDlg.RootFolder'应该是'Dim root As String = folderDlg.RootFolder'。 – 2014-10-02 18:07:43

回答

0

,去它的位置

有您的线索!仔细看看你发布的输出。

+0

感谢您的提示。添加这个让它工作 - >'sb1.AppendLine(“cd”path)'。史诗般的大脑放屁... – TomTom111 2014-10-02 22:36:55