0

タスク:管理者アカウントを使用してリモートPCからリモートPCにファイルをコピーします

コード:

    psi.FileName = "cmd.exe"
    psi.Arguments = ParaStr
    psi.UserName = StrUserID
    psi.Password = ConvertToSecureString(txtAdminPassword.Text)
    psi.Domain = StrDomain
    psi.WindowStyle = ProcessWindowStyle.Normal
    psi.UseShellExecute = False
    Dim proc As New Process
    proc.StartInfo = psi
    proc.Start()

ParaStr = / k psexec.exe -h / user AdminUser \ SourceMachine cmd/cコピー\sourcepc\ file1 \ destpc \ folder

したがって、コマンドを実行すると、管理者パスワードの入力を求められ、確認されると、ファイルがコピーされて終了します

これは正常に機能しています

実際のコピー作業がいつ行われたかを確認したい(ファイルサイズが不明なため、3/4時間以上かかる場合があります)

cmdウィンドウを開いたままにして、プロセスが終了したかどうかを確認します。タスクが完了したか、コマンドプロンプトで失敗したというメッセージが返されます。

プロセスが終了したときに、VBを確認するにはどうすればよいですか?

4

2 に答える 2

2

コンソール アプリケーションでは、プロセスの終了コードを設定し、プロセスを呼び出している親で同じことを確認できます。終了コードに基づいて、成功したかどうかを判断できます。

you can return it from Main if you declare your Main method to return an int, or call Environment.Exit(code)

終了コードを確認するには

 p.StartInfo = new ProcessStartInfo("RegSvr32");
        p.Start();

        p.WaitForExit();

        return p.ExitCode;
于 2013-02-05T17:10:30.527 に答える
-1

このようなことを試しましたか?

http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvb/thread/6dca867b-0881-4ff9-b336-d03761df0377

StandardOutputプロセスが完了すると、 をキャプチャできるはずです。それはあなたに成功/失敗を与えるはずです。次に、プロセスを開始する VB アプリでプロセス完了イベントをどのように処理するかについてです。

于 2013-02-05T18:16:36.907 に答える