0

2 つのテキスト ファイル (1 つのテキスト ファイルにはサーバー名のリストが含まれ、もう 1 つのテキスト ファイルには値のリストが含まれます) からデータを読み取り、1 つのテキスト ファイルのリストからサーバー名でデータベースをヒットする VB.Net プログラムを作成しました。他のテキスト ファイルの値をフィルターとして使用します。

コードは Dot Net 環境で正常に動作します。

要件は、コマンド プロンプトで実行する必要があることです。入力は次のようにする必要があります。

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

MyProgram は VB.Net でのプログラムの名前で、他の 2 つはテキスト ファイルです。

これについて連絡するのを手伝ってください

ありがとう、ラムヤ

4

3 に答える 3

1

説明したようにコマンド プロンプトから実行するには、Console Application. 新しいプロジェクトを作成するときにこのプロジェクト タイプを選択すると、プログラムにはインターフェイスがなく、代わりにコンソールで実行されます。

コマンド ライン パラメーターは Main イベントに渡されます。

通常の Windows アプリケーションSystem.Environment.CommandLineを使用して、アプリケーションの起動に使用されたコマンド ラインを調べることもできます。

アプリケーションをテストするには、[プロジェクト] -> [プロパティ] -> [デバッグ] -> [コマンド ライン引数] で実行するコマンド ライン属性を指定します。

于 2012-07-23T06:44:16.307 に答える
1

プロジェクトのプロパティの [アプリケーション] で、次のように設定します。
アプリケーション タイプ= コンソール アプリケーション
スタートアップ オブジェクト= サブ メイン

次に、モジュールをプロジェクトに追加 (または既存のものを使用) し、次のようなメソッドを作成します。

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 に答える