我有一个小问题。我做了一个程序(WinForms C#),将文件从磁盘复制到可移动媒体。
这是我的循环过程:
- 源文件是 *.exe(sfx 存档)
- 通过 ProcessInfo 使用 7z.exe 解压缩 *.exe(其他方法不起作用)
- 从提取的 *.exe 和 File.Copy 中查找 *.zip 文件到可移动媒体
- 删除由 7z 进程创建的文件夹(进程被杀死)
- 程序关闭并删除自己(不是开玩笑)
解压后的 *.exe 结构
- 文件夹
- 文件夹
- 文件.zip
- 一些垃圾如 .txt 或 .doc
- 文件夹
我的代码:
foreach(string[] dir in listView1.SelectedItems)
{
if(Directory.Exists(Path.Combine(path_to_source, dir))
{
Directory.Delete(Path.Combine(path_to_source, dir), true);
}
}
问题是:为什么程序在 Directory.Delete 开始时关闭并删除自己。