2016-05-13 7 views
0

Ich versuche, eine Datei in VB.net zu löschen. Wenn ich das Programm mit der unten beschriebenen Löschmethode starte, wird die Datei gelöscht, aber auch der Inhalt der entsprechenden gezippten Datei. Wenn ich jedoch Schritt für Schritt debugge, wird der Inhalt der gezippten Datei nicht gelöscht? Es macht keinen Sinn, warum passiert das?Löschen einer Datei in vb.net löscht den Inhalt des gezippten Ordners

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)) 

Antwort

0

Versuchen Sie den folgenden Code. Wahrscheinlich müssen Sie 7z einige Zeit geben, um den Vorgang abzuschließen. Wenn das festgelegte 5-Sekunden-Intervall auf Basic eingestellt ist, müssen Sie eine Funktion erstellen, die überprüft, ob in eine Datei geschrieben wird.

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)