我正在尝试从共享位置复制文件名中包含“GES”的文件,下面是我编写的代码,但由于某种原因,它会从正在复制的位置创建整个文件夹路径。如何仅复制文件而不是整个文件夹路径。
For Each foundFile As String In My.Computer.FileSystem.GetFiles(
FileSource,
Microsoft.VisualBasic.FileIO.SearchOption.SearchTopLevelOnly, "*GES*.ini")
My.Computer.FileSystem.CopyFile(foundFile, destination & foundFile)
Next
答案 0 :(得分:0)
Dim folder As New DirectoryInfo("c:\")
Dim files As FileInfo() = folder.GetFiles()
Dim file As FileInfo
For Each file in files
If file.Name.StartsWith("GES") And file.Name.EndsWith(".ini") Then
'do whatever with the file here
End If
Next file
答案 1 :(得分:0)
您可以改用它(假设文件夹是旧文件夹,newDirectory是新文件夹)。
您可以使用目录过滤器获取文件。
使用Path.GetFileName仅获取文件名部分
使用Path.Combine获取新的完整路径
For Each file in System.IO.Directory.GetFiles(folder, "*GES*.ini")
Dim shortPath as String = System.IO.Path.GetFileName(file)
Dim newPath as String = System.IO.Path.Combine(newDirectory, shortPath)
' Copy, 3rd Parameter is Overwrite
System.IO.File.Copy(file, newPath, True)
Next