これが簡単な質問であることを願っていますが、C# アプリケーションに次のコードがあり、何らかの理由で、指定しているバッチ ファイルが実行されません。
private void filesystemwatcher_Renamed(object sender, System.IO.RenamedEventArgs e)
{
if (File.Exists("C:\\Watcher\\File.txt"))
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents = false;
proc.StartInfo.FileName = "C:\\Watcher\\Cleanup.bat";
proc.Start();
MessageBox.Show("Cleaned up files, your welcome.");
}
else
{
label4.Text = "Error: No file found";
}
}
メッセージボックスが正しく表示されるので、そのコード領域に到達していることはわかりますが、コマンドボックスがポップアップしたり、バッチファイルを実行したことを示すものは表示されません。cleanup.bat はファイルの名前を変更するだけなので、それもわかります。メッセージボックスを取得した後、ファイル名は変更されていません。
バッチ ファイルを手動でダブルクリックすると、問題なく動作します。また、バッチ ファイルのアクセス許可をすべてのユーザーに対してフル コントロールに調整しました (テスト目的のみ)。