先殺進程再刪除文件
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、成都網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務陳倉,十多年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575
Visual Basic code
//殺進程代碼
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
這段代碼的問題是:
首先for each循環(huán)在files里查找文件對象,但是f變量聲明為string了,無法讓它獲取對象;
然后file.copy的變量file沒有任何聲明,也沒有初始化賦值等;
最后,整個for each循環(huán)里查找集合files的文件,由于初始化的循環(huán)計數(shù)器仍然按照最初設定的文件數(shù)目向后遞增(文件地址),但是實際文件刪除一部分,后續(xù)的文件位置就不能跟循環(huán)計數(shù)指針匹配了,所以默認為查找不到文件,將會報錯。一般的做法時把復制和刪除分別放在2次循環(huán)里,第一次只復制文件,第二次才去刪除。
vb.net使用控件folderbrowserdialog1,在程序中:
'設置對話框中在樹視圖控件上顯示的說明文本
me.folderbrowserdialog1.description
=
"請選擇輸出報表所在路徑:"
'設置從其開始瀏覽的根文件夾
me.folderbrowserdialog1.selectedpath
=
"c:\"
if
me.folderbrowserdialog1.showdialog()
=
dialogresult.ok
then
'取得全路徑(包含文件名)
reportpath1
=
system.io.path.getfullpath(me.folderbrowserdialog1.selectedpath)
'設定text顯示文件名
txtreport1.text
=
reportpath1
setreportlist()
end
if
在setreportlist()中針對你所需要的文件進行操作等