在窗體上放置一個 Timer 控件,Interval 屬性設(shè)置為 120000(120000毫秒=120秒=2分鐘),Enabled 屬性設(shè)置為 True,添加如下代碼:
郫都網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
Private?Sub?Timer1_Tick(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Timer1.Tick
Dim?dDir1?As?New?System.IO.DirectoryInfo("C:\a")
dDir1.MoveTo("D:\b")??'移動?C:\a?文件夾所有文件到?D:\b????
End?Sub
這段代碼的問題是:
首先for each循環(huán)在files里查找文件對象,但是f變量聲明為string了,無法讓它獲取對象;
然后file.copy的變量file沒有任何聲明,也沒有初始化賦值等;
最后,整個for each循環(huán)里查找集合files的文件,由于初始化的循環(huán)計數(shù)器仍然按照最初設(shè)定的文件數(shù)目向后遞增(文件地址),但是實際文件刪除一部分,后續(xù)的文件位置就不能跟循環(huán)計數(shù)指針匹配了,所以默認(rèn)為查找不到文件,將會報錯。一般的做法時把復(fù)制和刪除分別放在2次循環(huán)里,第一次只復(fù)制文件,第二次才去刪除。
Microsoft.VisualBasic.FileSystem.Rename(原文件夾完整路徑名稱,新的文件夾名稱)
Microsoft.VisualBasic.FileSystem.Rename("D:\1", "D:\2\1")‘當(dāng)路徑不對時會把原文件夾剪切到“D:\2\”下面文件夾名稱不變
Microsoft.VisualBasic.FileSystem.Rename("D:\1", "D:\2\2")")‘當(dāng)路徑不對時會把原文件夾剪切到“D:\2\”下面文件夾名稱 更改為 2
Microsoft.VisualBasic.FileSystem.Rename("D:\1", "D:\2")’當(dāng)路徑相同時只改文件夾名稱 不移動文件
'這是VB的要先引用Microsoft Scripting RunTime,下面的例子是找叫cmd.xxx的文件的
Private Sub Command1_Click()
Dim m_objFSO As New FileSystemObject
Dim objFolder As Scripting.Folder '文件夾對象
Dim objFile As Scripting.File '文件對象
Set objFolder = m_objFSO.GetFolder("c:/test")
For Each objFile In objFolder.Files
Dim filenames() As String
filenames = Split(objFile.Name, ".")
If filenames(0) = "cmd" Then
FileCopy objFile.Path, "c:/TestCMD/" "newName." filenames(1)
End If
Next objFile
End Sub
-----------------------------------這是VB.net的--------------------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
Dim files() As String
files = System.IO.Directory.GetFiles("C:/test")
For i = 0 To files.Length - 1
Dim filenames() As String
filenames = files(i).Substring(files(i).LastIndexOf("\") + 1).Split(".")
If filenames(0) = "cmd" Then
FileCopy(files(i), "c:/TestCMD/" "newName." filenames(1))
End If
Next
End Sub
在窗體上添加2個文本框,1個按鈕:
其中1個文本框用來輸入:源文件夾,另1個文本框用來輸入目標(biāo)文件夾
1個按鈕編寫代碼:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MySourceFolder As String
If Microsoft.VisualBasic.Right(TextBox1.Text, 1) = "\" Then
MySourceFolder = TextBox1.Text
Else
MySourceFolder = TextBox1.Text "\"
End If
Dim MyDestFolder As String
If Microsoft.VisualBasic.Right(TextBox2.Text, 1) = "\" Then
MyDestFolder = TextBox2.Text
Else
MyDestFolder = TextBox2.Text "\"
End If
Dim MyDir As New System.IO.DirectoryInfo(MySourceFolder)
Dim MyFiles() As System.IO.FileInfo = MyDir.GetFiles("*.txt")
For Each MyFile As System.IO.FileInfo In MyFiles
System.IO.File.Copy(MySourceFolder MyFile.Name, MyDestFolder MyFile.Name, True) '允許同名覆蓋,否則為False
Next
End Sub