1

バッチファイルを追加します。私のWPFアプリケーションで「batch.cmd」としましょう。プロジェクトを右クリックして既存のアイテムを追加し、バッチ ファイルをプロジェクトに追加します。バッチ ファイルを選択し、Build Action を Embedded Resource に変更しました。ビルドした後、このファイルがプロジェクトに追加されるのを見ました。

ここで、コードでバッチ ファイルを開始する必要がありますProcess.Start("batch.cmd")

Process p = new Process();
p.StartInfo.FileName = "batch.cmd";
p.Start();

それもうまくいきません。このバッチがプロジェクト内と \bin のどこかに存在することをコードに理解させるにはどうすればよいですか。パスは常に変更されるため、ハードコーディングしたくありません。

ありがとうございます。

4

2 に答える 2

2

実行時にリソースからディスクにファイルを保存し、その場所から呼び出す必要があります (特定のフォルダーから開始することが予想される場合は、「現在のディレクトリ」を調整する必要がある場合があります)。

リンク:

以下の未検証のコード:

  var tempFileName = Path.GetTempFileName();

  Assembly.GetExecutingAssembly()
    .GetManifestResourceStream("my.cmd")
    .CopyTo(File.OpenWrite(tempFileName);

  Process.Start(tempFileName);
  File.Delete(tempFileName);
于 2013-02-28T16:54:49.113 に答える
0

このような意味ですか?

Process p = new Process();
p.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory + "\\batch.cmd";
p.Start();
于 2013-02-28T16:54:27.553 に答える