Private?Sub?btnRemovePath_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?btnRemovePath.Click
創(chuàng)新互聯(lián)堅(jiān)信:善待客戶,將會(huì)成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨?。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。十載網(wǎng)站建設(shè)經(jīng)驗(yàn)創(chuàng)新互聯(lián)是成都老牌網(wǎng)站營(yíng)銷服務(wù)商,為您提供做網(wǎng)站、網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、H5頁(yè)面制作、網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、微信小程序開(kāi)發(fā)服務(wù),給眾多知名企業(yè)提供過(guò)好品質(zhì)的建站服務(wù)。
Try
'?先建立目錄以便用于后續(xù)的刪除示范。
If?Not?Directory.Exists("D:\網(wǎng)易")?Then
Directory.CreateDirectory("?D:\網(wǎng)易?\Test1")
Directory.CreateDirectory("?D:\網(wǎng)易?\Test2")
Directory.CreateDirectory("?D:\網(wǎng)易?\Test3")
End?If
'?刪除子目錄?Test1。
Directory.Delete("?D:\網(wǎng)易?\Test1",?True)
'?刪除子目錄?Test2。
Dim?myDirectoryInfo?As?New?DirectoryInfo("?D:\網(wǎng)易?\Test2")
myDirectoryInfo.Delete(True)
'?將目錄?C:\AlexDirDemo?及其以下的文件和子目錄全數(shù)刪除。
Directory.Delete("?D:\網(wǎng)易?",?True)
Catch?ex?As?Exception
MessageBox.Show(ex.Message)
Exit?Sub
End?Try
'?啟動(dòng)?Windows?資源管理器。
Process.Start("explorer.exe",?"D:\")
End?Sub
先殺進(jìn)程再刪除文件
Visual Basic code
//殺進(jìn)程代碼
Private?Sub?KillProcess(ByVal?processName?As?String)
Dim?myproc?As?System.Diagnostics.Process?=?New?System.Diagnostics.Process
Try
For?Each?thisproc?As?Process?In?Process.GetProcessesByName(processName)
If?(Not?thisproc.CloseMainWindow())?Then
thisproc.Kill()
End?If
Next
Catch
End?Try
End?Sub
這段代碼的問(wèn)題是:
首先f(wàn)or each循環(huán)在files里查找文件對(duì)象,但是f變量聲明為string了,無(wú)法讓它獲取對(duì)象;
然后file.copy的變量file沒(méi)有任何聲明,也沒(méi)有初始化賦值等;
最后,整個(gè)for each循環(huán)里查找集合files的文件,由于初始化的循環(huán)計(jì)數(shù)器仍然按照最初設(shè)定的文件數(shù)目向后遞增(文件地址),但是實(shí)際文件刪除一部分,后續(xù)的文件位置就不能跟循環(huán)計(jì)數(shù)指針匹配了,所以默認(rèn)為查找不到文件,將會(huì)報(bào)錯(cuò)。一般的做法時(shí)把復(fù)制和刪除分別放在2次循環(huán)里,第一次只復(fù)制文件,第二次才去刪除。