2016-05-13 115 views
0

我想刪除VB.net中的文件。當我使用下面顯示的刪除方法運行該程序時,該文件將被刪除,但相應的壓縮文件的內容也會被刪除。但是,當我一步一步調試時,壓縮文件的內容不會被刪除?這沒有意義,爲什麼會發生這種情況?刪除vb.net中的文件刪除壓縮文件夾的內容

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

回答

0

請試試以下代碼。您可能需要花費一些時間才能完成操作。如果固定的5秒間隔是基本的,則需要創建一個函數來檢查文件是否正在寫入。

Shell("C:\Program Files\7-Zip\7z.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\7-Zip\7z.exe a " + zippedLocation(2) + ".zip " + NewFileNames(2)) 
My.Computer.FileSystem.DeleteFile(NewFileNames(2)) 
system.threading.thread.sleep(5000)