删除 vb.net 中的文件会删除压缩文件夹中的内容

Deleting a file in vb.net deletes the contents of the zipped folder

我正在尝试删除 VB.net 中的一个文件。当我 运行 程序使用如下所示的删除方法时,文件被删除了,相应的压缩文件的内容也被删除了。但是,当我逐步调试时,压缩文件的内容没有被删除?说不通,为什么会这样?

Shell("C:\Program Files-Zipz.exe a " + zippedLocation(1) + ".zip " + NewFileNames(1))
My.Computer.FileSystem.DeleteFile(NewFileNames(1))
Shell("C:\Program Files-Zipz.exe a " + zippedLocation(2) + ".zip " + NewFileNames(2))
My.Computer.FileSystem.DeleteFile(NewFileNames(2))

试试下面的代码。您可能需要给 7z 一些时间来完成操作。如果固定的 5 秒间隔是基本的,您需​​要创建一个函数来检查是否正在写入文件。

Shell("C:\Program Files-Zipz.exe a " + zippedLocation(1) + ".zip " + NewFileNames(1))
system.threading.thread.sleep(5000) 'give 7z some time to finish the zipping (5 sec)
My.Computer.FileSystem.DeleteFile(NewFileNames(1))
Shell("C:\Program Files-Zipz.exe a " + zippedLocation(2) + ".zip " + NewFileNames(2))
My.Computer.FileSystem.DeleteFile(NewFileNames(2))
system.threading.thread.sleep(5000)