C#を使用してディレクトリを削除しようとしています。私が試した最初の方法は
Directory.Delete(@"C:\Program Files (x86)\Qmuzki32");
ディレクトリが空ではないという例外が発生します。次に、ディレクトリが空であるかどうかに関係なく、ディレクトリを静かに削除するために使用できるcmdコマンドを見つけました。cmdで次のコマンドを実行しました。
rmdir /s /q "C:/Program Files (x86)/Qmuzik32"
これはうまくいき、私が望んでいたことを正確に実行しました。私の最初の試みでは、次のようにこのコマンドをC#プロセスに組み込んでみました。
if (Directory.Exists(@"C:\Program Files (x86)\Qmuzik32"))
{
string sQM32Folder = @"C:\Program Files (x86)\Qmuzik32";
Process del = new Process();
del.StartInfo.FileName = "cmd.exe";
del.StartInfo.Arguments = string.Format("rmdir /s /q \"{0}\"", sQM32Folder);
del.WaitForExit();
}
これは機能しなかったので、次のように試しました。
if (Directory.Exists(@"C:\Program Files (x86)\Qmuzik32"))
{
string sQM32Folder = @"C:\Program Files (x86)\Qmuzik32";
Process del = new Process();
del.StartInfo.FileName = "rmdir.exe";
del.StartInfo.Arguments = string.Format("/s /q \"{0}\"", sQM32Folder);
del.WaitForExit();
}
同じ問題。例外が発生します:
No process is associated with this object.
私は正しい方向に進んでいると思います。たぶん、上記のコードは微調整が必要なだけです。