0

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

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

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

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

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

帮我解决这个问题

谢谢,拉米亚

4

3 回答 3

1

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

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

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

要测试您的应用程序,请在项目 -> 属性 -> 调试 -> 命令行参数中指定要运行的命令行属性。

于 2012-07-23T06:44:16.307 回答
1

在项目的属性中,在Application下,设置:
Application type = Console Application
Startup object = 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
于 2012-07-23T06:45:04.627 回答
0

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

这意味着会为您的命令创建一个控制台窗口以在其中执行,然后它会关闭。

作为最低要求,您需要包括其他答案中描述的参数处理。

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

于 2012-07-24T04:06:09.097 回答