這段代碼的問題是:
創(chuàng)新互聯(lián)基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務器托管機柜報價,主機托管價格性價比高,為金融證券行業(yè)服務器托管,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。
首先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()中針對你所需要的文件進行操作等
Private?Sub?btnRemovePath_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?btnRemovePath.Click
Try
'?先建立目錄以便用于后續(xù)的刪除示范。
If?Not?Directory.Exists("D:\網易")?Then
Directory.CreateDirectory("?D:\網易?\Test1")
Directory.CreateDirectory("?D:\網易?\Test2")
Directory.CreateDirectory("?D:\網易?\Test3")
End?If
'?刪除子目錄?Test1。
Directory.Delete("?D:\網易?\Test1",?True)
'?刪除子目錄?Test2。
Dim?myDirectoryInfo?As?New?DirectoryInfo("?D:\網易?\Test2")
myDirectoryInfo.Delete(True)
'?將目錄?C:\AlexDirDemo?及其以下的文件和子目錄全數(shù)刪除。
Directory.Delete("?D:\網易?",?True)
Catch?ex?As?Exception
MessageBox.Show(ex.Message)
Exit?Sub
End?Try
'?啟動?Windows?資源管理器。
Process.Start("explorer.exe",?"D:\")
End?Sub
先殺進程再刪除文件
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