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 . . .
但是,當我不刪除批處理文件程序結束,然後轉到它的位置並運行它,它運行得很好,就像它應該那樣!
現在搞了兩天左右......有什麼想法嗎?
順便說一句,'Dim root As Environment.SpecialFolder = folderDlg.RootFolder'應該是'Dim root As String = folderDlg.RootFolder'。 – 2014-10-02 18:07:43