Ich bin ein Anfänger und fragte mich, ob jemand helfen könnte.VB.NET 2010 Befehlszeilenprogramm muss Datei im selben Verzeichnis sein?
Ich stelle ein Frontend in Visual Basic (VS2010-Version) für ein CD-Aufnahme-Kommandozeilenprogramm namens cdrdao zusammen.
Hier ist der Link für eine Win32-Version. http://www.student.tugraz.at/thomas.plank/ Die dort veröffentlichte Version von cdrdao hängt von zwei DLL-Dateien ab. cygwin1.dll und cyggcc_s-sjlj-1.dll. Ich habe die drei Dateien in meinem Verzeichnis bin/debug.
Hier ist mein Code
Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
Dim myfile As String
myfile = OpenFileDialog1.ShowDialog()
myfile = OpenFileDialog1.FileName
lblFile.Text = myfile
End Sub
Private Sub btnBurn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBurn.Click
Dim strFile As String
Dim p As New Process
strFile = lblFile.Text
p.StartInfo.FileName = "cdrdao.exe"
p.StartInfo.Arguments = " simulate " + strFile
p.Start()
MessageBox.Show(p.StartInfo.Arguments.ToString(), "result")
End Sub
Als ich das laufen, es wird nicht die strFile erhalten. Das strFile ist das image.cue
Es zeigt, dass es in meiner Messagebox tut, aber es wird einfach nicht funktionieren.
Wenn meine strFile (Bilddatei) im selben Verzeichnis wie meine Exe ist und cdrdao in bin/debug und ich setze diese Argumente, und klicke auf btnBurn.
p.StartInfo.Arguments = " simulate " + "myimage.cue"
Dann funktioniert es wie erwartet.
Hier ist ein Szenario, das funktioniert, wenn ich eine Eingabeaufforderung starte.
Ich habe einen Ordner auf meinem Desktop namens test, und es enthält CDRDAO und die DLLs. Ich habe einen Ordner auf G: Laufwerk namens Test, und es enthält die Bilddatei, die gebrannt werden soll.
Ich tippe dies in den cmd.
cd /d G:\test
C:\Users\myname\Desktop\test\cdrdao simulate G:\test\myimage.cue
Das funktioniert auch.
Ich habe mich gefragt, ob irgendjemand Hinweise darauf haben könnte, wie ich das funktionieren lassen kann? Ist es ein Verzeichnisproblem? Jede Hilfe würde sehr gut ankommen.
aber Sie sagen uns, dass dies eindeutig ein Ordnerproblem ist .. p muss wissen, den Weg der Sache verwendet (es sei denn, sie sind eindeutig auf einen Standardordner). – gbianchi
@ gbianchi Danke für die schnelle Antwort. Tut mir leid, dass ich so ein Noob bin. Kannst du mir ein Beispiel geben? – Wyatt