VB.Net代码在命令提示符下运行

时间:2012-07-23 06:23:23

标签: vb.net command prompt

我做了一个VB.Net程序,它从两个文本文件中读取数据(一个文本文件将包含服务器名称列表,另一个文本文件将包含值列表)并使用服务器名称从一个文件夹中获取数据文本文件的列表,并使用其他文本文件中的值作为过滤器。

代码在Dot Net环境中运行良好。

要求是,我需要让它在命令提示符下运行。输入应该是以下

MyProgram.exe -s D:\ ServerName.txt -v D:\ Valuelist.txt

MyProgram是VB.Net中程序的名称,另外两个是文本文件。

帮助我解决这个问题

谢谢, 拉姆亚

3 个答案:

答案 0 :(得分:1)

如您所述,从命令提示符运行意味着您需要创建Console Application。在创建新项目时选择此项目类型意味着您的程序将没有界面,而是在控制台上运行。

命令行参数将传递给Main事件。

您还可以使用普通的Windows应用程序,并检查System.Environment.CommandLine以查看用于启动应用程序的命令行。

要测试您的applciation,请在Project中指定您要运行的命令行属性 - >属性 - >调试 - >命令行参数。

答案 1 :(得分:1)

在项目的属性中,在应用程序下,设置:
申请类型 =控制台申请
启动对象 = Sub Main

接下来,将一个模块添加到项目中(或使用现有模块)并创建类似于以下的方法:

Sub Main(args() As String)
    If args.Length >= 2 Then
        ProcessFiles(args(0), args(1))
    Else
        AskForFiles()
    End If
End Sub

执行应用程序时将运行此方法。 args参数将包含所有命令行参数。


或者,您可以使用Windows窗体应用程序,在这种情况下,启动时,您需要检查命令行参数。

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Form1.Load
    Dim args As String() = Environment.GetCommandLineArgs()
    If args.Length >= 2 Then
        ProcessFiles(args(0), args(1))
    Else
        AskForFiles()
    End If
End Sub

答案 2 :(得分:0)

从您的评论中看起来您实际上只是从“开始”菜单运行命令>运行(或其变化取决于您使用的Windows版本)。

这意味着会创建一个控制台窗口,供您执行命令然后关闭。

至少你需要包括其他答案中描述的参数处理。

为了能够继续查看程序的结果,请先自行打开命令提示符,或在程序结束时添加Console.ReadLine。然后它将等待返回被按下,或者你可以关闭窗口。