我如何从源中获取.pdf文件并将其复制到目的地的每日文件夹下?有多个{项目文件夹},每个项目文件夹都需要复制到其相应的目标位置。
这些是我的文件夹目录:
来源示例:根:{project folder} /。pdf,{project folder1} /。pdf,{project folder2} /。pdf……。
目标示例:根目录:{项目文件夹} /日常文件夹/.pdf,{项目文件夹1} /日常文件夹/.pdf,{项目文件夹2} /日常文件夹/.pdf…..
static void Main(string[] args)
{
CopyFolder(@"C:\Desktop\Source\pdf-reports", @"C:\Desktop\Destination\Parks");
Console.ReadLine();
}
static public void CopyFolder(string sourceFolder, string destFolder)
{
if (!Directory.Exists(destFolder))
Directory.CreateDirectory(destFolder);
string[] files = Directory.GetFiles(sourceFolder);
foreach (string file in files)
{
string name = Path.GetFileName(file);
string dest = Path.Combine(destFolder, name);
File.Copy(file, dest);
}
string[] folders = Directory.GetDirectories(sourceFolder, "l*", SearchOption.TopDirectoryOnly);
foreach (string folder in folders)
{
string name = Path.GetFileName(folder);
string dest = Path.Combine(destFolder, name);
CopyFolder(folder, dest);
}
答案 0 :(得分:0)
好的,就是这样。
Imports System.IO
'get the list of all pdf files from the source folder'
Dim FileList() As String = Directory.GetFiles("Replace for Source Folder", "*.pdf")
Dim FileName As String
'Set the root of the destination folder and create a new folder using as name the current date'
Dim DestPath As String = "Replace for Destination Folder" & DateTime.Now.ToString("yyyy-MM-dd")
Dim DestFolder As DirectoryInfo = Directory.CreateDirectory(DestPath)
'go through each of the files and move those one by one'
For F = 0 To FileList.Length - 1
FileName = Path.GetFileName(FileList(F))
File.Move(FileList(F), DestPath & "\" & FileName.toString)
Next
`
答案 1 :(得分:0)
这是答案。
static void Main(string[] args)
{
CopyFolder(@"D:\Origin", @"D:\Test");
Console.ReadLine();
}
private static void CopyFolder(string source, string destination)
{
if (!Directory.Exists(destination))
Directory.CreateDirectory(destination);
var files = new DirectoryInfo(source).GetFiles("*.pdf");
string dailyFolder = "DailyFolder";
string destinationDailyFolder = Path.Combine(destination, dailyFolder);
foreach (var item in files)
{
if (!Directory.Exists(destinationDailyFolder))
Directory.CreateDirectory(destinationDailyFolder);
item.CopyTo(Path.Combine(destinationDailyFolder, item.Name),true);
}
var Directories = new DirectoryInfo(source).GetDirectories();
foreach (var directory in Directories)
{
CopyFolder(directory.FullName, Path.Combine(destination,directory.Name));
}
}