【问题标题】:VB.Net code to run in command prompt在命令提示符下运行的 VB.Net 代码
【发布时间】:2012-07-23 06:23:22
【问题描述】:

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

代码在点网环境下运行良好。

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

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

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

帮我解决这个问题

谢谢, 拉姆亚

【问题讨论】:

  • 程序是控制台应用程序吗?当您尝试从命令提示符运行它时会发生什么?
  • 是的,我的程序是一个控制台应用程序,当我尝试通过提供 MyProgram.exe 在命令提示符下运行时,它会打开控制台窗口,但我需要在命令提示符下进行所有操作
  • 好的,您当前是在将参数传递到控制台应用程序中,还是在应用程序中硬编码?如果它们是硬编码的,请遵循 Michael Rodrigues 和 Hand-E-Foot 在下面的答案中的建议,从命令行将参数传递到应用程序,而不是在应用程序中硬编码这些值。
  • system.Environment.CommandLine 将从 vb.net 调用命令提示符。但我的要求是我不需要打开命令提示符,我需要通过传递参数来调用 .net 程序。
  • 我正在努力找出问题所在。为了帮助缩小范围:您使用的是哪个操作系统?你知道如何打开命令提示符吗?您知道如何使用命令提示符导航硬盘吗?你知道如何使用命令提示符运行程序吗?

标签: vb.net command prompt


【解决方案1】:

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

命令行参数将被传入主事件。

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

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

【讨论】:

    【解决方案2】:

    在项目的属性中,在 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
    

    【讨论】:

    • 当我们执行 VB.Net 代码时,命令提示符打开并且可以工作。但我需要从命令提示符执行代码。我必须只需要打开命令提示符并给出带有两个参数的 vb.net 可执行文件,并且相应的程序应该执行
    • 好的,那你有什么问题?如果您转到命令提示符,请切换到存储此程序的文件夹,然后键入MyProgram.exe D:\ServerName.txt D:\Valuelist.txt 它应该可以工作。
    【解决方案3】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 2016-04-22
      • 2021-08-28
      • 2020-12-16
      相关资源
      最近更新 更多