簡體   English   中英

如何在VB.net中調用的程序中傳遞多個命令行參數

[英]How to pass multiple command line arguments in a Program called in VB.net


Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Dim p As New ProcessStartInfo
p.FileName = "D:\c\File_copy_program.exe"
p.Arguments = "D:\c\File_copy_program.exe" & "D:\PE.nrg" & "D:\c\1.nrg"
p.WindowStyle = ProcessWindowStyle.Hidden
Process.Start(p)

End Sub

如您在上面的代碼中可能看到的,我正在嘗試運行一個名為File_copy_program.exe的程序,該程序是使用C ++創建的。 現在,該程序在Main中有3個參數(即程序名稱,源文件,目標文件)。

現在一行:p.Arguments =“ D:\\ c \\ File_copy_program.exe”&“ D:\\ PE.nrg”&“ D:\\ c \\ 1.nrg”

不管用。 而且我的程序說傳遞的參數數目無效(因為我有一個條件來確保如果參數數目不等於3,則程序中止)。

您需要像在命令行上那樣將參數傳遞給程序來傳遞參數:

p.Arguments = "D:\PE.nrg D:\c\1.nrg"

或者,如果使用變量:

p.Arguments = arg1string & " " & arg2string

從第一個示例可以看到,您沒有將程序名稱作為參數傳遞,就像您在命令行上不再使用程序名稱本身一樣。

嘗試p.Arguments = "D:\\PE.nrg" & " " & "D:\\c\\1.nrg" -懷疑您需要指定應用程序名稱,因為它將由DOS自動傳遞給您您的參數之間需要一個空格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM