私はこれのノブで、誰かを助けることができるかもしれないと思っていました。VB.NET 2010コマンドラインプログラムでは、同じディレクトリにファイルが必要ですか?
cdrdaoという名前のcdコマンドラインプログラムを記録するVisual Basic(VS2010バージョン)のフロントエンドをまとめています。
ここに、win32バージョンのリンクがあります。 http://www.student.tugraz.at/thomas.plank/ そこに掲載されたcdrdaoのバージョンは、2つのdllファイルに依存しています。 cygwin1.dll、およびcyggcc_s-sjlj-1.dllがあります。 bin/debugディレクトリに3つのファイルがあります。
は、ここで私はこれを実行すると、それは文句を言わないstrFileを受け取る私のコード
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
です。 strFileはimage.cueです
それは私のメッセージボックスに表示されますが、それは動作しません。
私のstrFile(イメージファイル)が私のexeと同じディレクトリにあり、cdrdaoがbin/debugにあり、これらの引数を設定して、btnBurnをクリックします。
p.StartInfo.Arguments = " simulate " + "myimage.cue"
次に、期待どおりに動作します。
ここでは、コマンドプロンプトを起動したときに動作するシナリオを示します。
デスクトップにtestという名前のフォルダがあり、cdrdaoとdllが含まれています。 私はG:ドライブにtestと呼ばれるフォルダを持っていて、それには書き込むイメージファイルが含まれています。
これをcmdに入力します。
cd /d G:\test
C:\Users\myname\Desktop\test\cdrdao simulate G:\test\myimage.cue
これも機能します。
誰かがこの作業をどのように行うことができるかについての手掛かりがありますか?それはディレクトリの問題ですか?どんな援助も大いに訴えられるでしょう。
しかし、これは明らかにフォルダの問題であることを私たちに伝えています。pは、(デフォルトのフォルダに明示的に指定されていない限り)物事のパスを知る必要があります。 – gbianchi
@ gbianchi素早く応答してくれてありがとう。そのような騒ぎのために申し訳ありません。あなたは私に例を教えていただけますか? – Wyatt